bash:找不到带有空格的文件夹名称

时间:2019-09-12 10:15:56

标签: bash find spacing

使用

find . -name "old"

可以是带有空格的搜索文件夹名称,例如:./test文件夹/

但是在find函数中使用了find函数之后,就像

find $(find . name "old")/*

返回 find: ./test: No such file or directory find: folder: No such file or directory

会发生什么?缺少什么? 请提供建议。 谢谢。

2 个答案:

答案 0 :(得分:0)

名称中带有空格的目录应转义或用引号引起来:

$ find . -name 'test folder'
./test folder
$ find . -name "test folder"
./test folder
$ find . -name test\ folder

这是因为shell使用空格作为命令和参数(以及其他命令)的分隔符。

答案 1 :(得分:0)

此外,如果发现找到2个匹配项,将会发生什么?

最好使用find的exec函数启动第二个find:

find . -name "old" -exec find {} \;