次のファイルスキーマがあります。
insert_buffer cell_a
insert_buffer cell_b
insert_buffer cell_b
...
各行の最後に列を追加して数字を増やしたいです。たとえば、0,1,2,3...:
insert_buffer cell_a name_0
insert_buffer cell_b name_1
insert_buffer cell_b name_2
...
ループにawkを使用する方法は?あるいは、他の解決策も可能です。
ベストアンサー1
$ awk '{$(NF+1) = "name_"(NR-1)} 1' file
insert_buffer cell_a name_0
insert_buffer cell_b name_1
insert_buffer cell_b name_2
組み込みレコード count の代わりに独自の変数を使用するには、NR
次のようにします。
$ awk '{$(NF+1) = "name_"i++} 1' file
insert_buffer cell_a name_0
insert_buffer cell_b name_1
insert_buffer cell_b name_2
新しいフィールドを別の場所に挿入する場合は、追加の出力フィールド区切り文字を使用して既存のフィールドの前に追加するか、2番目のフィールドOFS
の前に挿入する方法があります。
$ awk '{$2 = "name_"i++ OFS $2 } 1' file
insert_buffer name_0 cell_a
insert_buffer name_1 cell_b
insert_buffer name_2 cell_b