不能用双引号??

来源:10-2 awk的内置变量(上)

慕粉1926212165

2021-11-22

awk “{print $0}” /etc/passwd
结果全部为0?
只能用但引号?

写回答

1回答

酷田

2021-11-23

awk输出使用内置变量涉及$符号的,只能使用单引号才能生效,这是因为在shell环境中双引号内部的$1等会优先被替换相应变量值,例如awk "{print $1}",在shell中直接执行相当于awk "{print }",因为 $1变量被直接尝试替换成实际值了,因为没有定义,所以为空导致。

比如这种情况就没问题,统计一个文件的行数时

awk -F: "{sum+=1}END{print sum}" /etc/passwd

//img.mukewang.com/szimg/619c6a3809d60a0907600069.jpg

0
0

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1638 学习 · 297 问题

查看课程