コメントを繰り返さずにスクリプトを使用してユーザーのcrontabを更新する方法

コメントを繰り返さずにスクリプトを使用してユーザーのcrontabを更新する方法

だから私は以下を使用して、かなり多くのcrontabファイルの上部に迷惑なコメントをたくさん捨てたことに気づきました。

crontab -u user -l > /tmp/crontab.user
#muck with the file
crontab -u user /tmp/crontab.user

今私は閉じ込められた

# DO NOT EDIT THIS FILE

他の2行は私のcrontabファイルの上部で何度も繰り返されます。

私は次のようなことをしてこれらを削除したいと思います。

crontab -u user -l > /tmp/crontab.user
#muck with the file
#clean up the file
crontab -u user /tmp/crontab.user

しかし、ここで3つのコメント行グループを安全に消去するにはどうすればよいかわかりません。sed+tail組み合わせが適しているようですね。あるいは、単にPerlステートメントかもしれません。

答え1

クリーンアップスクリプトは次のとおりです。

sed -i '/^# DO NOT EDIT.*\|^# (.*/d' /tmp/crontab.user

cronバージョンは、少なくともヘッダーセクションに# DO NOT EDITandを# (入れ、マネージコードでこれで始まるものを使用しないためです(他の人がこれを行うと後悔します)。

関連情報