当前位置: 技术问答>linux和unix
关于shell的sed命令,里边的代码看不明白,说是去掉前后空格
来源: 互联网 发布时间:2017-04-11
本文导语: 去掉行头行末的空格,但是根本没有效果。 cat haha | sed "s/^[:space:]*[:space:]$//" haha文件内容 [空格][空格][空格] [空格][空格][空格]aaa[空格][空格][空格] [空格][空格][空格]bbb[空格][空格][空格]c [空格][空格][空格] 但是...
去掉行头行末的空格,但是根本没有效果。
cat haha | sed "s/^[:space:]*[:space:]$//"
haha文件内容
[空格][空格][空格]
[空格][空格][空格]aaa[空格][空格][空格]
[空格][空格][空格]bbb[空格][空格][空格]c
[空格][空格][空格]
但是输出的结果并没有变化,但是sed "s/^[:space:]*[:space:]$//"是unix上已经运行了很长的时间了,现在要把它移植到linux上。不知道怎么修改后进行移植。
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
|
版主这个好,学习了。