0

嗨,我有两个输入文件。

输入1.txt:

id above
id below
id still
id getting

输入2.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 表达式。

查找.awk

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

以及为什么我的 awk 不起作用的想法?

4

1 回答 1

1

在对输入文件运行 awk 之前,对输入文件运行“dos2unix”。男人dos2unix。

于 2013-03-13T01:23:33.537 回答