我想用这样的数据库文件替换第 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}'
可以用 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');