我希望有一个Bash函数为输出文件定义一个安全的默认文件名。因此,如果指定了myFile.txt
等输入文件名,则输出文件的默认文件名可能是myFile_1.txt
或myFile_2.txt
myFile_1.txt
1}}存在于工作目录中(即,根据需要附加递增的整数,以避免覆盖现有文件。)
以下是一些展示行为的示例代码:
if [ "${fileName2}" == "" ]; then
count=1
fileName2="${fileName1%.*}_${count}.${fileName1##*.}"
while [ -e "${fileName2}" ]; do
let count=${count}+1
fileName2="${fileName1%.*}_${count}.${fileName1##*.}"
done
fi
echo "${fileName2}"
这种行为的最小方法是什么?