0

我有一个数组列表,其中包含我正在执行 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.974 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.97and 1 5 47 0.96。我试过了$1=---$1='\-\-\-'他们都没有工作。如果我尝试使用$1="---",它会将 $1 替换为---.

我是 awk 的新手,我真的不明白为什么它会进行替换。如果" "是 awk 中的替换,我该如何设置条件---

4

1 回答 1

3
于 2013-06-19T15:56:52.483 回答