通常要删除文件名中带有空格的文件,您必须运行:
$ rm "file name"
Run Code Online (Sandbox Code Playgroud)
但如果我想删除多个文件,例如:
$ find . -name "*.txt" | xargs rm
Run Code Online (Sandbox Code Playgroud)
这不会删除其中包含空格的文件。
这是我用来重命名由ls -A以下方法返回的文件的脚本的一部分:
for FILE in `ls -A`
do
ext=${FILE##*.}
NUM=$(($NUM+1))
NEWFILE=`echo $2_$NUM.$ext | sed 's/ /_/g'`
mv "$FILE" "$NEWFILE"
done
Run Code Online (Sandbox Code Playgroud)
但是找不到带空格的名字!$2 参数不能成为错误的原因,为什么我将一个没有空格的名称作为参数,这个脚本采用该名称并重命名文件夹中的所有文件,以便让它们编号并且不修改文件扩展名。不幸的是,它不会重命名名称中包含空格的文件。有人能帮我吗?