如何在替换文件中的其他字段时跳过字段

时间:2019-01-27 14:47:30

标签: shell unix scripting

我有100个文件,其内容如下:

ABC+123+74859308812345'XYZ
ABC+12+64859603759604'XYZ
ABC+41+73596027485910'XYZ

在所有文件中,我想用+将第二个NEWREF之后的前10个数字替换为:

ABC+123+NEWREF2345'XYZ
ABC+12+NEWREF9604'XYZ
ABC+41+NEWREF5910'XYZ

1 个答案:

答案 0 :(得分:0)

您可以使用来修改文件的内容。

 sed -i 's/[0-9]\{10\}/NEWREF/g' <filename>

假设test是文件名。

sed -i 's/[0-9]\{10\}/NEWREF/g' test

现在您可以在循环中使用此命令来迭代100个文件,或者可以将ls与模式一起使用来传递要进行替换的文件列表。

sed -i 's/[0-9]\{10\}/NEWREF/g' `ls <filename pattern>`