
fileAとfileBから欠落しているエントリを見つけてfileCに書き込む次のスクリプトがあります。
script.sh fileA fileB fileC
スクリプト.sh:
rm $3
while IFS="" read -r inputline; do
fgrep -q \""$inputline"\" $1
if [ 1 -eq $? ]; then
echo \""$inputline"\" >>$3
fi
done <$2
fileBのすべての内容がfileCにダンプされることを確認しましたが、基本的な内容がありません。 (aix 6、バッシュ)
ps:ファイルには比較に重要な末尾のスペースがあります。
答え1
努力する
#!/usr/bin/bash
rm "$3"
while IFS="" read -r inputline
do
grep -Fq "$inputline" "$1" && echo "$inputline" >> "$3"
done < "$2"