用于读取 2 个文件并仅打印不常见内容的脚本

用于读取 2 个文件并仅打印不常见内容的脚本

我正在尝试比较 2 个文件。如果内容不常见,我想回应它们。

到目前为止,这是我的代码

#!/bin/bash


while IFS= read -r line && IFS= read -r line2 <&3; do
  
 if [ "$line" -ne "$line2" ]; then
    echo "we  doing this $line2"
    
  else
    echo "we will not  do this $line2"
  fi

done <file1test 3<file2test

我正在测试的每个文件的内容只是数字。 file1test 是从每行 1..10 开始,file2test 是从每行 1..20 开始。

我的代码仅回显 1..10,这是两者共有的。

答案1

使用状态标志使其正常工作

while IFS= read -r line
do
   
 
  status=0
  while IFS= read -r line2 <&3
  do

  if [ "$line" = "$line2" ]; then
     status=1
     break 
  fi
 
done 3< file1test
if [ "$status" != 1 ]; then
  echo "$line"
fi
done < file2test

相关内容