我想将filelist2
与filelist1
进行比较。但不知怎的,我的代码无法正常工作,它总是将第一个文件显示为丢失的文件,请协助
例如,
filelist1
app-663.tar.bz2
deb-663.tar.bz2
misc-663.tar.bz2
filelist2
app-663.tar.bz2
deb-663.tar.bz2
这是我的代码
while IFS= read -r f; do
if [[ -e $2/$f ]]; then
printf '%s exists in %s\n' "$f" "$2"
else
printf '%s is missing in %s\n' "$f" "$2"
exit 1
fi
done < "$1"
输出
filelist2.txt
中缺少app-663.tar.bz2
答案 0 :(得分:0)
awk
是你的朋友:
awk 'NR==FNR{rec[$0];next}!($0 in rec)' filelist2 filelist1
<强>输出强>
misc-663.tar.bz2
所有好: - )
注意:如果您从awk
开始,请查看此[book]