我正努力在没有温度的情况下实现这一目标。文件。
#!/bin/bash
tar ztf "$1" | sort > tmp1
tar ztf "$2" | sort > tmp2
comm -1 -3 tmp{1,2}|while read line; do echo -e "$1: $line\n"; done
comm -2 -3 tmp{1,2}|while read line; do echo -e "$2: $line\n"; done
rm tmp{1,2}
如何在没有tmp文件的情况下执行此操作?
答案 0 :(得分:4)
由于您每次使用每个临时文件两次,答案几乎肯定是否定的。但是,如果您修改脚本以使用单个命令(例如comm
或diff
),则以下内容应该有效:
diff <(tar ztf "$1" | sort) <(tar ztf "$2" | sort)
(另外,还应该使用mktemp
来创建临时文件)