awk はある列を別の列に変更します。

awk はある列を別の列に変更します。

列2 osをこのようなデータベースファイルに置き換えたい

INSERT INTO db1 VALUES ('2', '33', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '23544', '1', '1987', '3', '1', '1');
INSERT INTO db1 VALUES ('2', '343', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '21', '1', '1987', '3', '1', '1');

頑張りました

awk -F\' '{print NR-1,$2}'

列2の代わりにNR-1を使用できますか?

私はこのような結果が欲しいです(2番目の数値フィールドを参照)。

INSERT INTO db1 VALUES ('2', '1', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '2', '1', '1987', '3', '1', '1');
INSERT INTO db1 VALUES ('2', '3', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '4', '1', '1987', '3', '1', '1');

ベストアンサー1

努力する:

$ awk -F\' -vOFS=\' '{$4=FNR}1' file
INSERT INTO db1 VALUES ('2', '1', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '2', '1', '1987', '3', '1', '1');
INSERT INTO db1 VALUES ('2', '3', '3', '1975', '3', '5', '1');
INSERT INTO db1 VALUES ('4', '4', '1', '1987', '3', '1', '1');

おすすめ記事