Você já tem os ingredientes de uma resposta em sua pergunta.
Se você modificar sua linha crontab
para:
crontab -l | grep -v "#" | grep -o '/opt/.*$' > cron.tmp
então cron.tmp
conterá todos os comandos que você precisa executar. Você pode executá-lo como está com . ./cron.tmp
ou pode torná-lo executável e executá-lo diretamente com chmod +x cron.tmp && ./cron.tmp
.
Se você quiser evitar um arquivo temporário, use:
crontab -l | grep -v "#" | grep -o '/opt/.*$' | while read l; do eval $l; done
Você precisa usar eval
para que os redirecionamentos nos comandos sejam executados.
Observe que você pode combinar os dois grep
em uma única substituição sed
:
crontab -l | sed -n 's=^[^#]*\(/opt/.*$\)==p' | while read l; do echo eval $l; done