sed は Sun Solaris 10 crontab の主なコメントを削除します。

sed は Sun Solaris 10 crontab の主なコメントを削除します。

Sun Solaris 10のcrontabからエントリのコメントを外す必要があるsedコマンドを作成しています。

両方の方法を試しましたが、Ubuntuでは動作しますが、Sun Solaris 10では動作しません。sed: illegal option -- E crontab: can't open your crontab file.

crontab -l | sed -E '/#* *([^ ]+  *){5}[^ ]*run_all.sh/s/^#* *//' | crontab -

返品:

crontab -l | sed '/#* *\([^ ][^ ]*  *\)\{5\}[^ ]*run_all.sh\.sh/s/^#* *//' | crontab -

crontabのシェルは次のとおりです。

###15 00 * * * /bill/u01/WORK/ALARMS/run_all.sh > /bill/u01/WORK/ALARMS/`date +\%Y\%m\%d\%H\%M\%S`_RUN_ALL_PROCEDURE.log

答え1

正規表現をあまりにも複雑にしないでください。文字列を含む行の先頭から可能なハッシュタグを削除するには、run_all.sh次のようにします。

crontab -l | sed 's/^#*\(.*run_all\.sh\)/\1/' | crontab -

残念ながら、これをテストできるSolarisシステムはありません。

関連情報