我根本不明白这行 awk 代码是如何工作的。
$$1~/^[^0-9]/ {print $$1;}
Run Code Online (Sandbox Code Playgroud)
该$符号是 awk 中引用字段的运算符。例子:
$ echo "foo bar car" | awk '{print $2}'
bar
Run Code Online (Sandbox Code Playgroud)
这将打印bar,bar第二个字段的内容也是如此。
双美元符号实际上是一个双重引用,它将使用第一个字段引用的信息来获取另一个字段引用。例子:
$ echo "foo bar car 1 2 3" | awk '{print $$5}'
bar
$ echo "foo bar car 1 2 3" | awk '{print $5}'
2
Run Code Online (Sandbox Code Playgroud)
这里它打印bar为$5取消引用为2,因此$$5相当于$2
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |