如何在带有空格的目录上使用 find ?
这里有一些奇怪的事情。
mkdir -p "1/2 3/4"
touch 1/2\ 3/4/file.jpg
for f in $(find . -type f -name \*jpg); do echo "${f}"; done
这会返回
./1/2
3/4/file.jpg
,而不是
./1/2 3/4/file.jpg
How do I get find
来保留空格,以便文件路径正确?
Here is something strange.
mkdir -p "1/2 3/4"
touch 1/2\ 3/4/file.jpg
for f in $(find . -type f -name \*jpg); do echo "${f}"; done
This returns
./1/2
3/4/file.jpg
and not
./1/2 3/4/file.jpg
How do I get find
for preserve white spaces so the file path is correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以将
-print0
选项与xargs -0
一起使用。例如:无论文件名的内容如何,这都可以工作(甚至换行符也会被正确处理)。
You can use the
-print0
option along withxargs -0
. For instance:This would work no matter the content of the file names (even newlines would be handled correctly).
可以通过多种方式完成,但我发现这样做更好:
It can be done in several ways, but I find it much better to do it this way:
之间的区别:
查看:和:
See the difference between:
and: