私のcronファイルエントリは次のとおりです。
#Ansible: test2
*/15 * * * * ansible-playbook /web/playbooks/automation/detect401MORTEN/va_action.yml | tee -a /web/playbooks/automation/detect401MORTEN/cron.out
# #Cron to auto restart MIMSJASPER tomcat server for all environments if it is down
#Ansible: test3
# */15 * * * * ansible-playbook /web/playbooks/automation/detect401MORTEN/va_action.yml | tee -a /web/playbooks/automation/detect401MORTEN/cron.out
以下のsedは大文字と小文字を区別せずに機能しません。
sed '/^#.*morten/s/^#//ig' wladmin.cron
希望の出力:
#Ansible: test2
*/15 * * * * ansible-playbook /web/playbooks/automation/detect401MORTEN/va_action.yml | tee -a /web/playbooks/automation/detect401MORTEN/cron.out
#Cron to auto restart MIMSJASPER tomcat server for all environments if it is down
#Ansible: test3
*/15 * * * * ansible-playbook /web/playbooks/automation/detect401MORTEN/va_action.yml | tee -a /web/playbooks/automation/detect401MORTEN/cron.out
何か提案してもらえますか?
答え1
置換コマンドではなくアドレス選択で大文字と小文字を区別しないでください。 sedのGNU実装がある場合は、I
次のようにアドレス正規表現に大文字修飾子を適用できます。
sed '/^#.*morten/Is/^#//' wladmin.cron
交換フラグg
は必要ありません。実際、アンカーパターンインスタンスは1つしかありません(例:)^#
。