要遍历带有空格的文件名的 for 循环,可以使用双引号将文件名括起来。以下是一个示例代码:
#!/bin/bash
# 获取当前目录下所有以空格分隔的文件名
for filename in "$(find . -type f -name "* *")"; do
echo "文件名:$filename"
done
解释:
find . -type f -name "* *"
命令用于查找当前目录下所有文件名中包含空格的文件,并将结果存储在一个变量中。for filename in "$(find . -type f -name "* *")"
将查找结果以双引号的形式赋值给 filename 变量。echo "文件名:$filename"
打印文件名。这样,无论文件名中是否有空格,都能正确遍历并输出文件名。
上一篇:遍历带有空格的变量