linux – 如何以递归方式为深层目录结构中的每个文件执行命令?

我有一个深层目录结构,有大量文件(大约1M).我想对每个人执行一个命令. (在我的例子中,文件是pngs,我想对它进行optipng.)

我试过这个:

find . -name *.png | xargs sudo optipng -o2

但我得到的错误参数列表太长了.

我假设xargs应该能够处理这个,并且我的语法一定有问题.

解决方法

使用find而不是通过xargs直接执行exec.
sudo find . -name '*.png' -exec optipng -o {} +

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...