我正在从awk编程语言中学习awk,并被这个例子所困扰。
如果我想打印$ 3如果$ 2等于一个值(例如'1'),我正在使用这个命令工作正常:
awk '$2==1 {print $3}' | more
但是当我用另一个搜索条件替换1时,例如'findtext',这个命令不起作用。
awk '$1== findtext {print $3}' | more
这没有返回任何输出,我确定我放在'findtext'中的内容存在于那个地方。
我的语法有什么问题吗?
我试过这个,但它不起作用:
awk '$1=="findtext" {print $3}' | more
但是,当我这样做
grep findtext ## This does give me output
在我仔细检查时,findtext存在于$ 1中。
这是我的测试文件名为'test',例如,它有9行,8个字段和空格分隔:
1 11 0.959660297 0 0.021231423 -0.0073 -0.0031 MhZisp
2 14 0.180467091 0.800424628 0 0.0566 0.0103 ClNonZ
3 19 0.98089172 0 0 -0.0158 0.0124 MhNonZ
4 15 0.704883227 0.265392781 0.010615711 -0.0087 -0.0092 MhZisp
5 22 0.0106