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