在bash中查找带有空格的文件

在bash中查找带有空格的文件,bash,find,Bash,Find,我想在文件名中有空格的文件夹中搜索文件 /vol1/apache2/application/current/Test 1.pdf /vol1/apache2/application/current/Test 2.pdf 我知道有一个find命令,但我无法找出列出所有这些文件的正确参数。使用find: find "/vol1/apache2/application/current" -type f -name "*[[:space:]]*" 在两个通配符之间使用find命令。它将匹配具有单个或

我想在文件名中有空格的文件夹中搜索文件

/vol1/apache2/application/current/Test 1.pdf
/vol1/apache2/application/current/Test 2.pdf

我知道有一个find命令,但我无法找出列出所有这些文件的正确参数。

使用
find

find "/vol1/apache2/application/current" -type f -name "*[[:space:]]*"

在两个通配符之间使用find命令。它将匹配具有单个或多个空格的文件。“查找。”将查找当前文件夹和所有子文件夹中的所有文件。“-type f”将只查找文件而不查找文件夹

find . -type f -name "* *"
编辑

要用下划线替换空格,请尝试以下操作

find . -type f -name "* *" | while read file; do mv "$file" ${file// /_}; done

那么
ls*”*
呢<代码>查找-名称“**”?
echo*”*
也有效对不起,我忘了说:我需要给定文件夹和所有子文件夹的文件列表(递归搜索)…还有可能重命名结果并自动删除空格吗?我认为在这种情况下,最好使用
xargs
而不是
while
。如果一个父目录的名称中包含空格,则此操作将失败