如何在 Linux 中搜索和替换变量?

如何在 Linux 中搜索和替换变量?

我有一堆文件,其中有很多行配置如下:

what,r-crq,What,What,VAC5700-035080,What
i,pns11,I,I,VAC5700-035090,I
do,vdd,did,did,VAC5700-035100,did

我想进行搜索和替换以得到此结果,存储并重新插入后面的 4 个数字VAC并删除数字的尾随部分VAC

what,r-crq,What,What,VAC5700,What
i,pns11,I,I,VAC5700,I
do,vdd,did,did,VAC5700,did

有没有办法可以一次对所有文件执行此操作(数量VAC会有所不同,因此需要将其存储为变量),最好在 Bash shell 中?

我认为我也可以使用正则表达式在“Notepad++”中执行此操作,但我认为 shell 脚本更可取,因为我可以将所有文件作为批处理处理。

答案1

使用sed命令:

sed -e 's|,VAC\([0-9][0-9][0-9][0-9]\)-[0-9]*,|,VAC\1,|' inFile > outFile

它将用,VAC####-#...#,替代,VAC####,

相关内容