私が作成しているスクリプトの目的は、2つのファイルシリーズを比較することです。ファイル名自体は、2つの別々のファイルに1行に1つずつ格納されます。私の考えは、それぞれファイル名のリストに対応する2つのループを持つことですwhile read
。しかし、これらの2つのループをどのように混ぜますか?
while read compareFile <&3; do
if [[ ! $server =~ [^[:space:]] ]] ; then #empty line exception
continue
fi
echo "Comparing file - $compareFile"
if diff "$compareFile" _(other file from loop?_) >/dev/null ; then
echo Same
else
echo Different
fi
done 3</infanass/dev/admin/filestoCompare.txt
2つのwhile readループを介して2つの異なるリストにあるファイルを同時に比較できる必要があります。これは可能ですか?
ベストアンサー1
2つのループは必要ありません。 1つのループで両方のファイルを読み取るだけです。
while read compareFile1 <&3 && read compareFile2 <&4; do
if [[ ! $server =~ [^[:space:]] ]] ; then #empty line exception
continue
fi
echo "Comparing file - $compareFile"
if diff "$compareFile1" "$compareFile2" >/dev/null ; then
echo Same
else
echo Different
fi
done 3</infanass/dev/admin/filestoCompare.txt 4<other_file