awkを介して行のある列を変更して別の列を追加する方法

awkを介して行のある列を変更して別の列を追加する方法

次のレコードを含む MDD.TXT ファイルがあります。ファイル:MDD.TXT

0|ABC|055309|20120929053309|11965150   
0|ABC|061434|20120929063434|11155537  
0|ABC|070228|20120929073228|11965150  
0|ABC|082213|20120929583213|11965150  
0|ABC|083950|20120929983950|11965150  
0|ABC|084112|20120929083112|11965150

2番目の列を「XYZ」に置き換えて、2つの列filenameと「Success」をすべてのレコードに追加しようとしています。必要な出力は次のようになります。

0|XYZ|055309|20120929053309|11965150|MDD.TXT|SUCCESS
0|XYZ|061434|20120929063434|11155537|MDD.TXT|SUCCESS
0|XYZ|070228|20120929073228|11965150|MDD.TXT|SUCCESS
0|XYZ|082213|20120929583213|11965150|MDD.TXT|SUCCESS
0|XYZ|083950|20120929983950|11965150|MDD.TXT|SUCCESS
0|XYZ|084112|20120929083112|11965150|MDD.TXT|SUCCESS

ベストアンサー1

sedまた、使用することができます

$ sed -e 's/\bABC\b/XYZ/g' -e 's/$/|MDD.TXT|SUCCESS/g' MDD.TXT

ファイルを直接編集

$ sed -i -e 's/\bABC\b/XYZ/g' -e 's/$/|MDD.TXT|SUCCESS/g' MDD.TXT

元のファイルを保持し、目的の出力を別のファイルにリダイレクト

$ sed -e 's/\bABC\b/XYZ/g' -e 's/$/|MDD.TXT|SUCCESS/g' MDD.TXT >> MDD_MODIFFIED.TXT

おすすめ記事