次のファイルがあります。
ID firstname lastname
1 John Wilkens
2 Andrea Smith
ファイルの各行にIDフィールドの数字の前に「del_」という文字列を追加したいので、出力は次のようになります。
ID firstname lastname
del_1 John Wilkens
del_2 Andrea Smith
この目標をどのように達成できますか?
答え1
標準を使用してsed
同じことを行います。
sed '2,$ s/^/del_/' file
s///
これにより、2行目とファイルの終わりの間のすべての行(範囲を含む)に置き換え()が適用されます2,$
。置換は、アドレス指定さdel_
れた各行の先頭に文字列を挿入するだけです。
答え2
awk '{print (NR>1 ? "del_" : "") $0}' file
答え3
使用perl
:
perl -lpe '$_ = "del_" . $_ if $. > 1' data
答え4
別のawk
変形:
awk 'NR>1{ sub(//, "del_") }1' infile