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版》

原文地址:https://www.cnblogs.com/aaronhoo/p/5284991.html