在多个命令输出上执行脚本

Posted

技术标签:

【中文标题】在多个命令输出上执行脚本【英文标题】:executing a script on multiple command output 【发布时间】:2020-08-04 09:54:53 【问题描述】:

我有一个脚本,可以识别修改了该脚本使用的文件的用户

Usage: /data/scripts/who.sh "file" [number of days]

我无法对此脚本进行任何更改,所以我尝试了类似的东西:

x=$(find /data/files/* -mmin -60) && /data/scripts/who.sh $x 1

所以我将拥有在过去 60 分钟内修改文件的用户。问题是有多个文件被修改,脚本 who.sh 的使用只取一个文件。

有没有办法在命令输出的每个文件上应用脚本 who.sh:

find /data/files/* -mmin -60

谢谢

【问题讨论】:

【参考方案1】:

是的,您可以为此使用 -exec primary。

find /data/files/* -mmin 60 -exec /data/scripts/who.sh  1 \;

【讨论】:

谢谢它现在可以工作了,我只需将它添加到带有邮件通知的 cron 上 :)

以上是关于在多个命令输出上执行脚本的主要内容,如果未能解决你的问题,请参考以下文章

shell批量执行多个shell脚本

使用 shell 脚本在远程机器上执行多个命令

某些选项卡字符在shell脚本中不匹配,但在命令行上执行

shell 一次按顺序执行多个脚本

一键帮你复制多个文件到多个机器——PowerShell小脚本(内附PS远程执行命令问题解析)

shell多个脚本怎么并发执行