ファイルの最初の列の前に文字列を追加するスクリプト

ファイルの最初の列の前に文字列を追加するスクリプト

次のファイルがあります。

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

関連情報