如何在 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####,.

相關內容