bash - 如何对名称中包含空格的文件执行 shell "for"命令?

标签 bash command-line shell find

我发现自己经常做以下事情:

for f in `find -foo -bar -baz`; do
  process "$f"
done

这当然不适用于带空格的文件名。我该如何处理这种情况?

最佳答案

Find 和 xargs 可以很好地协同工作。 find 可以使用 \0 分隔符(选项 print0)打印文件名,xargs 可以以该格式(选项 -0)读取它们>):

find . -type f -print0 | xargs -0 echo

关于bash - 如何对名称中包含空格的文件执行 shell "for"命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272837/

相关文章:

linux - 通过 ssh 连接并重试的 Shell 脚本

windows - 使用命令按三列对 csv 文件进行排序?

php - 从带滚动的命令行 PHP 执行 "less"

java - 如何在 LINUX shell 上用 Java 编译多个类文件?

linux - 如何在 Shell 脚本中检查目录是否为空?

swift - Ubuntu 14.04 (Windows) 上的 Vapor 设置错误

batch-file - 将多个命令结果保存到txt文件

r - linux 命令行中的 knitr

linux - 在运行时编辑 shell 脚本

linux - 在 Redis (Debian GNU) 容器的任何目录中都找不到 shutdown 和 systemctl