我在txt表中有一些数据:
Number Column1 Column2
1 abc zxy
7 tgh lkj
1 rfe zpo
我想替换 lkj 位置的字符串(始终在第 3 列第 3 行)。不随意更换lkj。再举个例子思考:
Number Column1 Column2
a 875 172
a 457 357
2 986 125
在这种情况下我想提取 357。第 3 列第 3 行。我正在尝试涉及列awk
参数$3
的操作,但我不知道还能做什么。有什么建议么?
答案1
如果您想保留良好的对齐方式,请使用awk
函数sub
。
awk 'NR==3{sub($3, "string_to_replace")}1' infile.txt
否则,你可以使用下面的
awk 'NR==3{$3="string_to_replace"}1' infile.txt
NR==3
意味着如果它是第三行,则进行替换,1
始终为真条件并告诉awk
打印该行(或者这是awk
默认操作)