2013-03-12 62 views
0

嗨,我有兩個輸入文件。輸入文件未被正確讀取腳本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機器整個文件原來是一個串上,而如果你使用任何文本編輯軟件,它是用單獨的行格式化。

在記事本上的示例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是不工作的想法?

+0

什麼是'find.awk'? – amphibient 2013-03-12 21:36:32

+0

用find.awk更新了描述 – 2013-03-12 21:39:09

+0

您是否在Windows中創建輸入文件,並使用回車將它們發送到UNIX/Linux? – amphibient 2013-03-12 21:41:16

回答

1

在運行awk之前,在輸入文件上運行「dos2unix」。 man dos2unix。

+0

沒有在dos2unix上找到條目。 – 2013-03-13 04:30:56

+1

我聽說有一種叫做「interweb」的東西,或者是某些人在查找信息時發現有用的東西...... – 2013-03-13 05:07:47