使用awk测试第一个字符是否为数字

使用awk测试第一个字符是否为数字,awk,Awk,如何使用awk检查字符串的第一个字符是否为数字。我已经尝试了以下内容,但我不断得到语法错误 awk ' { if (substr($1,1,1) == [0-9] ) print $0 }' da.txt 我将使用正则表达式而不是substr()。这将实现以下目的: awk '$1 ~ /^[[:digit:]]/' da.txt 注意,我省略了打印$0,因为它是awk中的默认操作,我建议使用@hek2mgl解决方案。我已经指出了一些问题 问题: 您应该在/…regex../中使用regex

如何使用awk检查字符串的第一个字符是否为数字。我已经尝试了以下内容,但我不断得到语法错误

awk ' { if (substr($1,1,1) == [0-9] ) print $0 }' da.txt

我将使用正则表达式而不是
substr()
。这将实现以下目的:

awk '$1 ~ /^[[:digit:]]/' da.txt

注意,我省略了打印$0,因为它是
awk
中的默认操作,我建议使用@hek2mgl解决方案。我已经指出了一些问题

问题:

  • 您应该在
    /…regex../
    中使用regex
  • 使用
    ~
    而不是
    =
  • 有效期:

    awk '{ if (substr($1,1,1) ~ /^[0-9]/ ) print $0 }' file.txt