比较两个文件并获取linux中第三个文件的位置

时间:2015-06-17 06:59:15

标签: linux awk sed comparison file-comparison

我需要帮助比较两个文件并获取第三个文件中的位置,两个文件将具有相同的字段,但顺序将在第二个文件中未排序,第三个文件将给出找到数据的行号。< / p>

eg. file1.txt
A
B
C
D

file2.txt
B
D
A
C

outputfileposition.txt
3
1
4
2

任何帮助表示感谢,提前谢谢

2 个答案:

答案 0 :(得分:1)

在awk中

awk 'FNR==NR{a[$0]=FNR;next}{print a[$0] > "outputfileposition.txt"}' file{2,1}.txt

答案 1 :(得分:0)

这样可以解决问题:

while read line
do
   grep -n $line file2.txt | grep -o ^[0-9]* >> outputfileposition.txt
done < file1.txt