我有一个非常具体的awk问题:
在此命令中,输出是一个普通文件,带有&#34 ;;"字段分隔符。
awk -F\: '{ FS = ";";}{ if($1>=11414836 && $1<=11500000) print $0;}' /file.txt>/newfile.txt
现在,我需要添加第三个条件:
awk -F\: '{ FS = ";";}{ if($1>=11414836 && $1<=11500000 && $14=3294) print $0;}' /file.txt>/newfile.txt
问题是第三个条件会导致输出中的字段分隔符更改为正常空格(&#34;&#34;)。
我做错了什么?
答案 0 :(得分:6)
这个问题是双重的(在评论中都有说明):
$14=3294
代替$14==3294
。这会将$14
设置为3294
的值,而不是将其比较。awk
会重新计算$0
,并在字段之间插入OFS
。