0
我有一个列表,其中包含我正在执行awk的不同信息的数组。Awk充当替换
number location length value
1 2 40 0.96
--- 5 45 0.97
4 5 47 0.96
--- 5 35 0.95
2 5 60 0.95
--- 3 55 0.96
awk '{if ($2=5 && $3 >= 40 && $3<=50 && $6>=0.96) print $0}' Infile.txt
它不会给我正确的行--- 5 45 0.97
和4 5 47 0.96
。 但是,如果我想要添加其他条件,如$1= ---
,只具有第一输出--- 5 45 0.97
awk '{if ($2=5 && $3 >= 40 && $3<=50 && $6>=0.96 && $1="\-\-\-") print $0}' Infile.txt >List_position.txt
它作为替代,先前的输出作为恢复和1 5 45 0.97
1 5 47 0.96
。 我试过$1=---
,$1='\-\-\-'
,他们都没有工作。如果我尝试使用$1="---"
,它会将$ 1替换为---
。
我是新的awk,我真的不明白为什么它会做替换。如果" "
在awk中是替代,我怎么能把条件放在---
?
+1拥有鹰眼! –
谢谢!所以'='而不是'=='为$ 1后面的内容改变了吗? – Renaud
事实上,'$ 2 = 5'写在我的脚本中写作$ 2 == 5。我应该看到区别 – Renaud