日期:2014-05-16  浏览次数:20716 次

关于shell的sed命令,里边的代码看不明白,说是去掉前后空格
去掉行头行末的空格,但是根本没有效果。
cat haha | sed "s/^[:space:]*[:space:]$//"

haha文件内容
[空格][空格][空格]
[空格][空格][空格]aaa[空格][空格][空格]
[空格][空格][空格]bbb[空格][空格][空格]c
[空格][空格][空格]

但是输出的结果并没有变化,但是sed "s/^[:space:]*[:space:]$//"是unix上已经运行了很长的时间了,现在要把它移植到linux上。不知道怎么修改后进行移植。

------解决方案--------------------
试试这个:
sed "s/^[:space:]*
------解决方案--------------------
[:space:]*$//"


或直接用空格:
sed "s/^ *
------解决方案--------------------
 *$//"


------解决方案--------------------
cat haha 
------解决方案--------------------
 sed 's/^[ \t]*//;s/[ \t]*$//'
------解决方案--------------------
如果包括其它的 tab 什么的不可见字符,可以试试这个:
sed "s/^\W*
------解决方案--------------------
\W*$//"

------解决方案--------------------
sed 's/^[ \t]*\
------解决方案--------------------
[ \t]*$//' haha

------解决方案--------------------
引用:
sed 's/^[ \t]*\
------解决方案--------------------
[ \t]*$//' haha

版主这个好,学习了。