【发布时间】:2013-04-29 14:45:32
【问题描述】:
我想打印文件中所有以四位数字开头的行。我试过这个 allredy 但它不起作用:
cat data.txt | awk --posix '{ if ($1 ~ /^[0-9]{4}/) print $1}'
没有产生输出
下一行打印所有以数字开头的行:
cat data.txt | awk --posix '{ if ($1 ~ /^[0-9]/) print $1}'
【问题讨论】:
-
useless use of cat 的另一个示例。
-
打印所有匹配的行还是打印所有匹配的行的第一个字段?
-
Awk 本质上是一种模式/动作语言; understanding patterns 是一项基本技能。 Regular expressions 是一种模式。您可能应该在这里使用 grep 代替,但无论如何都要学习 awk 的模式/动作。
-
@MikeSherrill'Catcall':实际上你不需要
awk也不需要grep。在bash也可以轻松解决。
标签: awk