awk 在使用三个 && 条件保存文件时更改字段分隔符
awk changes field separator when saving file with three && conditions
我有一个非常具体的 awk 问题:
在此命令中,输出是带有“;”的普通文件字段分隔符。
awk -F\: '{ FS = ";";}{ if(>=11414836 && <=11500000) print [=10=];}' /file.txt>/newfile.txt
现在,我需要添加第三个条件:
awk -F\: '{ FS = ";";}{ if(>=11414836 && <=11500000 && =3294) print [=11=];}' /file.txt>/newfile.txt
问题是第三个条件导致输出中的字段分隔符变为正常的 space (" ")。
我做错了什么?
问题是双重的(都在评论中说明):
- 您使用
=3294
而不是 ==3294
。这会将 </code> 设置为 <code>3294
的值,而不是对其进行比较。
- 当任何字段发生更改(无意中发生)时,
awk
重新计算 [=15=]
,并在字段之间插入 OFS
。
我有一个非常具体的 awk 问题:
在此命令中,输出是带有“;”的普通文件字段分隔符。
awk -F\: '{ FS = ";";}{ if(>=11414836 && <=11500000) print [=10=];}' /file.txt>/newfile.txt
现在,我需要添加第三个条件:
awk -F\: '{ FS = ";";}{ if(>=11414836 && <=11500000 && =3294) print [=11=];}' /file.txt>/newfile.txt
问题是第三个条件导致输出中的字段分隔符变为正常的 space (" ")。
我做错了什么?
问题是双重的(都在评论中说明):
- 您使用
=3294
而不是==3294
。这会将</code> 设置为 <code>3294
的值,而不是对其进行比较。 - 当任何字段发生更改(无意中发生)时,
awk
重新计算[=15=]
,并在字段之间插入OFS
。