在找到的文件上执行命令

时间:2010-11-19 11:29:34

标签: email command-line find

我无法对找到的文件使用exec和mail命令。

# find /etc/ -name my.cnf -mtime 0 -exec mail shantanu.oak@gmail.com
find: missing argument to `-exec'

检查my.cnf是否在过去24小时内已更改

如果是,就像在这种情况下一样,通过电子邮件发送文件

如果在过去24小时内没有更改,则不执行任何操作。

更新:

以下shell脚本正在按预期工作,但我希望将其全部用作一行命令

#!/bin/sh
myfile=`find /etc/ -name my.cnf -mtime 0`
cat $myfile | mail -s "test" shantanu.oak@gmail.com

1 个答案:

答案 0 :(得分:1)

似乎你需要\旁边的\;因此:

# find /etc/ -name my.cnf -mtime 0 -exec mail shantanu.oak@gmail.com \;

或如何:

# find /etc/ -name my.cnf -mtime 0 | xargs mail shantanu.oak@gmail.com

有关使用find

执行命令的更多信息,请参阅http://www.softpanorama.org/Tools/Find/using_exec_option_and_xargs_in_find.shtml