我喜欢 awk 的地方在于,您可以从满足您指定的某些字段的条件的文件中获取所有行。例如,
awk '$3~/hi/' < test.txt # print all lines where the third field matches the pattern "hi"
或者
awk '$2>=2' < test.txt # print all lines where the second field is greater or equal to 2
作为一个正在学习 unix 强大功能的初学者,我对此非常着迷。现在我想知道是否有一种简单的方法可以仅在您指定的某些任意字段上执行正则表达式替换?例如,我只想对第三个字段进行正则表达式替换。我目前的方法是“剪切”我想要的字段并使用 perl 或 sed 对其执行替换,然后我将其“粘贴”到原始文件中。但我想知道是否有更有效的方法来实现这一目标。
谢谢