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