如何在unix中为所有字符串匹配的正则表达式添加后缀
我需要用文件中带有后缀的相同字符串替换特定格式的所有字符串(在我的例子中,冒号后跟一些数字),如下所示:如何在unix中为所有字符串匹配的正则表达式添加后缀,unix,command-line,sed,Unix,Command Line,Sed,我需要用文件中带有后缀的相同字符串替换特定格式的所有字符串(在我的例子中,冒号后跟一些数字),如下所示: :123456 -> :123456_suffix 有没有一种方法可以使用sed或其他unix命令行工具执行此操作?sed应该执行以下操作: sed-i~-e的/:\([0-9]\{1,\}\)/:\1\u后缀/g'文件 ^ ^ ^ ^ ^ ^ | | | | | | 开始捕获| |结束|全局,即不只是第一个 组| |捕
:123456 -> :123456_suffix
有没有一种方法可以使用sed或其他unix命令行工具执行此操作?sed应该执行以下操作:
sed-i~-e的/:\([0-9]\{1,\}\)/:\1\u后缀/g'文件
^ ^ ^ ^ ^ ^
| | | | | |
开始捕获| |结束|全局,即不只是第一个
组| |捕获|行上的事件
任何数字|第一次捕获
一组或多组内容
更多次
如果不支持-i
,只需创建一个新文件并替换旧文件:
sed…>新文件
mv oldfile oldfile~#备份
mv新文件旧文件
Sed应该做到:
sed-i~-e的/:\([0-9]\{1,\}\)/:\1\u后缀/g'文件
^ ^ ^ ^ ^ ^
| | | | | |
开始捕获| |结束|全局,即不只是第一个
组| |捕获|行上的事件
任何数字|第一次捕获
一组或多组内容
更多次
如果不支持-i
,只需创建一个新文件并替换旧文件:
sed…>新文件
mv oldfile oldfile~#备份
mv新文件旧文件
使用sed
sed 's/\(:[0-9]\+\)/\1_suffix/g' file
如果要进行就地编辑,请添加-i
修改器。使用sed
sed 's/\(:[0-9]\+\)/\1_suffix/g' file
如果您想进行就地编辑,请添加
-i
修改器。对于便携式解决方案,再加上一个!加上一个便携式解决方案!