次のデータを含むabc.txtファイルがあります(実際のデータには約200個のレコードがたくさんあります)。
目名前
1 |
品質
3 |
今、私のファイルが次のように見えるようにテキストを追加するにはどうすればよいですか?
スノー|名前|場所
1|ジャック|パリ
2|質|パリ
3|6月|パリ
グローバル置換を試みましたが、最初の行に別のテキストを追加する必要があります。だから私を助けてください。
答え1
これには3つのオプションがあります。
awkとその変形(
gawk
などmawk
):awk '{if(NR==1){print $0,"| Place"} else{print $0,"| Paris"}}' file.txt
真珠:
perl -lne '$.==1 ? print "$_ | Place" : print "$_ | Paris"' file.txt
sed
sed '1 s/$/ | Place/; 1! s/$/ | Paris/' file.txt
答え2
スクリプト化された「内部」ファイルの編集には、以下を使用しますex
。
printf '%s\n' '1s/$/ | Place/' '2,$s/$/ | Paris/' x | ex abc.txt
printf
にコマンドを発行しますex
。1s
最初の行でのみ交換を実行してください。2,$s
他のすべての行に対して交換を実行します。x
保存と終了。
$
正規表現は「行末」を意味します。