【发布时间】:2022-10-23 07:47:36
【问题描述】:
这工作不正确。该脚本应该只删除副本,但该脚本会删除所有文件。
#!/bin/bash
DIR=$1
if [[ -z "$DIR" ]]; then
echo "Error: files dir is undefined"
fi
files="$( find ${DIR} -type f )"
for file1 in $files; do
for file2 in $files; do
if cmp -s "$file1" "$file2"; then
rm $file2
fi
done
done
【问题讨论】:
-
您必须确保
[[ $file1 != "$file2" ]]。另外:如果文件名包含空格,您的脚本将不起作用。
标签: bash