OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

提高效率

当。。。的时候 执行 使用 action 时,它会在每次找到匹配文件时启动指定命令的新实例。 有时我们可能更喜欢组合所有搜索结果并启动命令的单个实例。 例如,而不是执行这样的命令:

ls -l file1

ls -l file2

我们可能更愿意以这种方式执行它们:

ls -l 文件 1 文件 2

从而导致命令只执行一次而不是多次。 我们有两种方法可以做到这一点。 传统方式,使用外部命令 参数 和另一种方式,使用新功能 发现 本身。 我们将首先讨论替代方式。

通过将结尾的分号字符更改为加号,我们可以激活 发现 将搜索结果组合到一个参数列表中,以便单次执行所需的命令。 回到我们的例子,这个:


find ~ -type f -name 'foo*' -exec ls -l '{}' ';'

find ~ -type f -name 'foo*' -exec ls -l '{}' ';'


-rwxr-xr-x 1 我

-rw-r--r-- 1 我

-rwxr-xr-x 1 我

-rw-r--r-- 1 我


图片

我 224 2007-10-29 18:44 /home/me/bin/foo

我 224 2007-10-29 18:44 /home/me/bin/foo

me

me

0 2016-09-19 12:53 /home/me/foo.txt

0 2016-09-19 12:53 /home/me/foo.txt

将执行 ls 每次找到匹配的文件时。 通过将命令更改为:



find ~ -type f -name 'foo*' -exec ls -l '{}' +

find ~ -type f -name 'foo*' -exec ls -l '{}' +


-rwxr-xr-x 1 我

-rw-r--r-- 1 我

-rwxr-xr-x 1 我

-rw-r--r-- 1 我


图片

我 224 2007-10-29 18:44 /home/me/bin/foo

我 224 2007-10-29 18:44 /home/me/bin/foo

me

me

0 2016-09-19 12:53 /home/me/foo.txt

0 2016-09-19 12:53 /home/me/foo.txt

我们得到相同的结果,但系统只需要执行 ls 命令一次。


OnWorks 的顶级操作系统云计算: