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 シェルで実行してください。

正規表現を使用して「Notepad++」でもこれを行うことができると思いますが、すべてのファイルをバッチとして実行できるため、シェル スクリプトの方が適していると思います。

答え1

次のコマンドを使用しますsed:

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

,VAC####-#...#,に置き換えられます,VAC####,

関連情報