![주석을 반복하지 않고 스크립트를 사용하여 사용자의 crontab을 업데이트하는 방법](https://linux55.com/image/80703/%EC%A3%BC%EC%84%9D%EC%9D%84%20%EB%B0%98%EB%B3%B5%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%82%AC%EC%9A%A9%EC%9E%90%EC%9D%98%20crontab%EC%9D%84%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
그래서 나는 다음을 사용하여 꽤 많은 crontab 파일의 상단에 짜증나는 주석을 많이 버렸다는 것을 알았습니다.
crontab -u user -l > /tmp/crontab.user
#muck with the file
crontab -u user /tmp/crontab.user
이제 난 갇혔어
# DO NOT EDIT THIS FILE
다른 두 줄은 내 crontab 파일 상단에서 계속해서 반복됩니다.
나는 다음과 같은 일을 해서 이것들을 제거하고 싶다.
crontab -u user -l > /tmp/crontab.user
#muck with the file
#clean up the file
crontab -u user /tmp/crontab.user
하지만 여기에서 세 개의 주석 줄 그룹을 안전하게 지우려면 어떻게 해야 할지 잘 모르겠습니다. sed
+ tail
조합이 적당할 것 같네요 . 아니면 단지 Perl 문일 수도 있습니다.
답변1
정리 스크립트는 다음과 같습니다.
sed -i '/^# DO NOT EDIT.*\|^# (.*/d' /tmp/crontab.user
cron 버전은 최소한 헤더 섹션에 # DO NOT EDIT
and 를 # (
넣고 관리 코드에서 이것으로 시작하는 어떤 것도 사용하지 않기 때문입니다(다른 사람이 이렇게 하면 후회할 것입니다).