我有很多文件需要附加扩展名,但它们位于具有许多子目录的目录中。目前这些文件根本没有扩展名。我该如何只重命名文件而不重命名任何目录或子目录?
答案1
迭代所有内容并测试它是否是常规文件。
#bash
for file in ./*; do
[[ -f $file ]] && mv "$file" "$file.ext"
done
如果您需要避免在已有扩展名的文件上添加扩展名:
for file in ./*; do
if [[ -f $file && $file != *.ext ]]; then
mv "$file" "$file.ext"
fi
done