我有一堆文件,其中有很多行配置如下:
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####,
。