当文件被系统或其他用户修改时,尝试在文件中进行查找和替换。Incron+SED 是迄今为止效果最好的组合。问题是当命令放入 incrontab 时,sed 命令不起作用。从控制台运行时命令有效。测试了简单的 /bin/cp 命令是否从 incron 正确运行。
SED 命令:
/bin/sed 's+APPLES+ORANGES+g' /bseller/salidzini.xml > /bseller/salidzini_new.xml
INCRONTAB 内容:/bseller/salidzini.xml IN_CLOSE_WRITE /bin/sed 's+APPLES+ORANGES+g' /bseller/salidzini.xml > /bseller/salidzini_new.xml
检查了系统日志 - 事件被触发并且命令运行,但是没有生成 salidzini_new.xml 文件。sed 在系统日志中没有提供任何错误。
也许有些字符需要转义?希望有人能提供一些提示。