You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Sed命令修改指定Cronjob时出现星号重复问题求助

问题解决:sed修改Cronjob出现多余星号的问题

问题原因

你的sed命令中,*是正则表达式的元字符(表示匹配前面的元素零次或多次),未转义的情况下,sed会将* * * * *解析为匹配任意数量的*和空格组合,导致匹配时捕获了多余的星号,最终替换后出现重复的*。

修正方案

方案1:转义元字符并复用匹配内容

将模式中的所有*转义为\*,同时用&复用匹配到的完整内容,避免重复输入长串路径:

sed -i 's|\* \* \* \* \* root /apps/filebeat-cybersoc-3/config_updater.sh|& > /apps/filebeat-cybersoc-3/logs/config_updater.log|' /etc/cron.d/filebeat-cybersoc-3

方案2:定位目标行后追加内容(更简洁可靠)

先通过正则定位目标行,再在行尾追加重定向语句,这种方式不需要重复写完整的行内容,更不易出错:

sed -i '/^\* \* \* \* \* root \/apps\/filebeat-cybersoc-3\/config_updater.sh$/s/$/ > \/apps\/filebeat-cybersoc-3\/logs\/config_updater.log/' /etc/cron.d/filebeat-cybersoc-3
  • /^...$/ 确保匹配整行内容,避免误改其他相似行
  • s/$/.../ 表示在行的末尾($)追加指定内容

验证结果

执行修正后的命令后,Cronjob内容会变为预期的:

* * * * * root /apps/filebeat-cybersoc-3/config_updater.sh > /apps/filebeat-cybersoc-3/logs/config_updater.log

内容的提问来源于stack exchange,提问作者hakim arqib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:35:01