bash - 如何在没有大量转义的情况下使用 find -exec

标签 bash

我经常使用 find 在一堆文件上运行相同的脚本。因此,例如,如果我想在 dir 中的所有 .png 文件上运行 process.py,我会这样做:

find dir -name '*.png' -execdir process.py \{\} \;

尖桩篱笆的事情最后很烦人,有什么办法解决吗?

最佳答案

根据您的键盘布局,"可能比 ' 更方便使用或 \ . {}不需要转义,至于 Unix & Linux Stack Exchange 站点知道。没有人能确定需要 {} 的外壳已转义,手册页中的示例不会转义大括号。

find dir -name "*.png" -execdir process.py {} ";"

Jonathan Leffler 有一个解决方案,最后加上 +,这在语义上并不相同,但经常可用。

关于bash - 如何在没有大量转义的情况下使用 find -exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10320399/

相关文章:

linux - 环境变量不更新

node.js - 如何在 Node.js 中重现 Bash HMAC 加密

regex - Grep 和 % 百分比符号

python - 从python脚本获取shell脚本 "read"值

linux - netstat 中的奇怪百分号 (192.168.8.16%31621 :5555)

PHP - 无法执行我的 BASH 脚本来启动我的 C++ 二进制文件

string - 使用 bash 从字符串中提取整数

bash - 一个 bash 脚本,它会监视 2 个进程,当一个进程死亡时杀死另一个进程

regex - 如何在非空格文本开始之前删除前面的空格 + 正则表达式 + sed +

linux - 在 Unix 上连接文本文件中的多个字段