在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
。如果一个父目录的名称中包含空格,则此操作将失败