Bash脚本逐行比较文件对

时间:2014-06-23 05:34:06

标签: bash

我有20对文件(名为table0,table1..table10和tabler0,tabler1 .... tabler10)现在,我需要逐行比较每对文件。假设table0和tabler0是需要比较的文件,table0的第一行与tabler0的所有行匹配。如果找到匹配的行,那么table0的第一行被1替换为0。 e.g。

file1:
a
d
e
t
file2:
a
a
e
g
d
r
Output:
file1:
1
1
1
0

1 个答案:

答案 0 :(得分:1)

实现这一目标的一个简单方法是:

#reading file by line
while read line;do
   #check if file2 contains the line
   if grep -q $line "file2.txt"; then echo 1
   else echo 0
   fi
done < file1.txt

如果要显示file1和file2共有的行,

#reading file by line
while read line;do
   #check if file2 contains the line
   if grep -q $line "file2.txt"; then echo $line
   fi
done < file1.txt