Awk充当替代品
我有一个数组列表,其中包含我正在进行awk的不同信息Awk充当替代品,awk,substitution,Awk,Substitution,我有一个数组列表,其中包含我正在进行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.9
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
它充当替换,将以前的输出返回为1 5 45 0.97
和1 5 47 0.96
。
我试过使用$1=-
,$1='\-\-\-'
,但它们都不起作用。如果我尝试使用$1=“--”
,它会将$1替换为--
我是awk的新手,我真的不明白为什么它会起到替代作用。如果
“
在awk中是一个替换,我如何在--
上设置条件 您执行了赋值=
而不是比较=
(赋值结果的计算结果为true,因为它既不是0也不是空字符串)
awk'{if($2==5&&$3>=40&&$3=0.96&&$1==“--”)print}infle.txt>List_position.txt
在条件中,=
与=
赋值的$2=5
之间也存在“=
与=
的问题,但您没有注意到,因为您希望在那里看到5(感谢您指出这一点)
您也不需要反斜杠。您已经完成了赋值
=
而不是比较=
(赋值的结果计算为true,因为它既不是0也不是空字符串)
awk'{if($2==5&&$3>=40&&$3=0.96&&$1==“--”)print}infle.txt>List_position.txt
在条件中,=
与=
赋值的$2=5
之间也存在“=
与=
的问题,但您没有注意到,因为您希望在那里看到5(感谢您指出这一点)
您也不需要反斜杠。谢谢!因此,
=
而不是=
为后面的内容更改$1?事实上,$2=5
在我的脚本中写得很好,如$2==5
。我本应该看到不同的是;在C语言和派生语言中,如<代码> AWK < /C> >、C++、java和Perl(仅举几个名字),可以在表达式中分配赋值,赋值是赋值的结果,可以用于另一个赋值(<代码> A= B=23 < /COD>)或比较(请注意先行)。谢谢!因此,=
而不是=
为后面的内容更改$1?事实上,$2=5
在我的脚本中写得很好,如$2==5
。我本应该看到不同的是;在C语言和派生语言中,如<代码> AWK< /COD>、C++、java和Perl(仅举几个名字),可以在表达式中分配赋值,赋值是赋值的结果,可以用于另一个赋值(<代码> A= B=23 < /COD>)或比较(注意先行)。
awk '{if ($2=5 && $3 >= 40 && $3<=50 && $6>=0.96 && $1="\-\-\-") print $0}' Infile.txt >List_position.txt
awk '{if ($2==5 && $3 >= 40 && $3<=50 && $6>=0.96 && $1=="---") print }' Infile.txt >List_position.txt