2014-07-18 73 views
0

我有一個文本文件,其中包含由'|'分隔的字段符號。我想從文件中的行首開始獲取不同的字段。如何從使用shell腳本出現在每行開頭的文件中獲取唯一的單詞

例如,說我的文件中的數據是這樣的:

FEEDS TEST|mke-tpefdrt3a|5|32|Serial1/0|44210000 
NEW FEEDS|mke-tpefdrt3a|5|32|E1_10.10.10.01 
NEW FEEDS|mke-tpefdrt3a|5|32|Serial1/0|44210000 
NEW FEEDS|mke-tpefdrt3a.gcsc.com|5|32|Serial1/0 
REPORT|mke-tpefdrt3a|5|32|Serial1/0|44210000| 

我想這樣的輸出:

FEEDS TEST 
NEW FEEDS 
NEW FEEDS 
+0

爲什麼5個輸入線和輸出中只有3個?如果你想要獨特的,我知道它應該是'FEEDS TEST','NEW FEEDS','REPORT'。 – fedorqui

+1

你的問題不清楚。你需要不同的輸出,並且你的輸出顯示兩次'NEWS FEED'。怎麼來的?? – user3213851

回答

1

這AWK

$ awk -F\| '!a[$1]++{print $1}' infile 

會給你

FEEDS TEST 
NEW FEEDS 
REPORT 
+0

這就是解決方案!做得好,我想過'cut -d'|' -f1 |排序| uniq「,但這非常簡單。 – fedorqui

+0

感謝它的運作... – user3829086

相關問題