私は多くのC ++ファイルを持っていますが、その中には次のような行があります。
CONST1( var1, var2, var3, var4 );
CONST1
私が知っている定数ですが、var1
tovar4
は変数でありnullです""
。次のように、すべての行に部分文字列を自動的に挿入したいと思います。
CONST1( var1, var2, var3, NEWSUBSTRING, var4 );
C++なので、空白がある場合とない場合があります。
sed
、awk
またはgrep
その他のツールを使用する準備が整いました。 sedとregexpを使ってみましたが、方法が見つかりませんでした。私に教えてくれるアドバイスはありますか?
ベストアンサー1
カンマ区切り文字に基づく簡単なソリューション - 常に4つの変数:
gv@debian:$ a="CONST1( var1, var2, var3, var4 );";echo $a |awk -F',' '{print $1","$2","$3"," " substring" ","$4}'
CONST1( var1, var2, var3, substring, var4 );
変数を含める:
gv@debian:$ a="CONST1( var1, var2, var3, var4 );";b="somestring";echo $a |awk -v x=$b -F',' '{print $1","$2","$3", "x","$4}'
CONST1( var1, var2, var3, somestring, var4 );