读书人

关于shell的sed下令里边的代码看不明

发布时间: 2013-07-01 12:33:04 作者: rapoo

关于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

版主这个好,学习了。

读书人网 >UNIXLINUX

热点推荐