sed替换字符串时,使用正则表达式的注意事项

sed的使用方法为:

使用单个模式替换:sed 's/pattern/replacement/flags' filename,例如echo 'abc' | sed 's/a/A/'-->Abc

使用多个模式同时替换:sed 's/pattern1/replacement1/;s/pattern2/replacement2/' file,

例如,sed 's/^\s*//;s/\s*$//' totrim.txt 可以实现trim()函数的效果(去掉字符串两端的空格字符)

 

pattern可以使用正则表达式,不过写法要注意,例如一般用\d表示一个十进制数,但在sed里,必须用[0-9]来表示,正则表达式一般用+(加号)表示一个或多个,但写在sed里前面必须加上转椅符号反斜杠,

如sed 's/[0-9]\+$//g' file,表示去掉文件中每行末尾的一个或多个数字。

更多注意事项需要参考《Linux命令行与shell脚本编程大全 第2版》、《Linux shell脚本攻略第2版》

posted @ 2016-03-16 20:27  morein2008  阅读(20263)  评论(0编辑  收藏  举报