输入文件没有正确读取脚本awk

时间:2013-03-12 21:35:04

标签: linux unix scripting awk

您好我有两个输入文件。

input1.txt:

id above
id below
id still
id getting

input2.txt

id above
value above the sky

id below
value under the chair

我试图做一个awk命令,它显示为空。

 awk -f find.awk input1.txt input2.txt

我知道我的awk有效,因为我输入了2个不同的txt文件,所有输出都是正确可见的。

不同的input2.txt文件之间的区别是......

当我在Windows机器上使用记事本时,整个文件变成一个字符串,而如果你使用任何txt编辑器,它的格式是单独的行。

记事本上的示例input2.txt。

  id above value above the sky id below value under the chair

我不能只通过id重新分析这个输入,因为我的真正的txt文件有更多的数据......这是不一致的,所以我不能只搜索字符串或reg表达式。

find.awk

 FNR==NR  { id[$0]; next }  
 $0 in id { f=1 }           
 f                          
 NF==0    { f=0 }     

并了解为什么我的awk无法正常工作?

1 个答案:

答案 0 :(得分:1)

在输入文件上运行“dos2unix”之后再运行awk。 man dos2unix。