帮助使用正则表达式更新 cron 条目

帮助使用正则表达式更新 cron 条目

嗨,我正在尝试更新 cron 条目,不是使用 crontab -e,而是使用 shell 命令。例如,cron 条目如下:

10 * * * * /home/localuser/foo.sh -b 1 -h 4 > foo_output.sh 2>&1

不,我只需要编辑命令行参数部分,即

-b 1 -h 4

到用户输入的其他内容。第一件事是将 crontab 写入临时文件,然后操作该临时文件。现在,有没有一种简单的方法可以使用 SED 或其他东西来编辑该行?粗略的方法是删除整行,用整个表达式写一个新行,然后将其加载到 cron 中。我不擅长使用正则表达式。我的系统支持 sed -i,所以我想这可以在一行命令中完成。提前致谢

答案1

使用脚本编辑 crontab 文件的基本步骤如下,

crontab -l > 工作文件.txt
脚本到编辑.sh 工作文件.txt > 编辑文件.txt
crontab 编辑的文件.txt

根据 crontab 中其他行的样子(或将来可能的样子),
您可以编写sed一行来更改感兴趣的命令。
以下是可能执行的操作的示例script-to-edit.sh

sed 's|foo.sh \-b 1 \-h 4|foo.sh -b XXX -h YYY|g'

相关内容