File1中:
AA123|1111|111
BB123|2222|222
CC123|3333|333
DD123|4444|444
文件2:
CC123
AA123
所需的輸出:
CC123|3333|333
AA123|1111|111
File1中:
AA123|1111|111
BB123|2222|222
CC123|3333|333
DD123|4444|444
文件2:
CC123
AA123
所需的輸出:
CC123|3333|333
AA123|1111|111
awk scriptfile:
FNR == 1 && FNR != NR {
strt=1
}
strt != 1 {
for (i=1;i<=NF;i++) {
cnt++;fnd[cnt]=$i
}
}
strt==1 {
for (p=1;p<=cnt;p++) {
for (i=1;i<=NF;i++) {
if ($i ~ fnd[p]) {
printf ("%s ",$i)
}
}
}
}
呼叫與腳本文件:
awk -f scriptfile File2 File1
我們處理在同一時間這兩個文件。首先將File2中的數據讀入數組,然後使用它循環File1中的每個字段,將匹配打印到由空格分隔的數組(fnd)。
這將打印文本的連續符合換行符(我不知道你想怎麼處理這個)
謝謝你, $ awk -F'|' 'NR == FNR {a [$ 1]; next}(1美元)'file2文件1 這對我來說效果最好 –
平原的grep可以這樣做:
grep -f file2 file1
我們可以得到更精確,並添加-F和-w選項。
有無數的例子說明如何做這種事情已經在這個網站上。 –
請澄清你的問題。你如何定義* word *?比賽可以在任何地方嗎?你的管道符號有什麼意義? –
可能的重複: https://stackoverflow.com/questions/22686690/comparing-two-text-files-and-counting-number-of-occurrences – DanieleO