如何在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
修改器。

对于便携式解决方案,再加上一个!加上一个便携式解决方案!