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 시스템이 없습니다.

관련 정보