如何使用awk检查字符串的第一个字符是否为数字。我在下面尝试过,但我一直遇到语法错误。
awk ' { if (substr($1,1,1) == [0-9] ) print $0 }' da.txt
答案 0 :(得分:8)
我建议使用@ hek2mgl解决方案。我已经指出了一些问题。
问题:
/..regex../
内使用正则表达式。~
代替==
。有效:
awk '{ if (substr($1,1,1) ~ /^[0-9]/ ) print $0 }' file.txt
答案 1 :(得分:6)
我会使用正则表达式而不是substr()
。这样就可以了:
awk '$1 ~ /^[[:digit:]]/' da.txt
请注意,我省略了print $0
,因为它是awk
中的默认操作。