Vous pouvez utiliser:
sed '/\/as.sh/s/^/#/'
qui remplacera la ligne de départ marqueur zéro largeur avec un caractère de commentaire pour toutes les lignes contenant /as.sh
, comme le montre l'exemple suivant:
pax> echo '
* * * * * sleep 15;/etc/opt/wer.sh
1 * * * * /opt/sfm/qwe/as.sh
' | sed '/\/as.sh/s/^/#/'
* * * * * sleep 15;/etc/opt/wer.sh
#1 * * * * /opt/sfm/qwe/as.sh
Mais vous devez garder à l'esprit un certain nombre de choses.
- Il est généralement ne suffit pas de changer simplement le fichier, vous devez également aviser
cron
qu'il doit relire. Ceci est automatique si vous utilisez la commande crontab
elle-même, mais vous devrez peut-être envoyer un signal à cron
si vous modifiez le fichier directement.
- Ce n'est pas toujours une bonne idée de désactiver les scripts sur des fichiers système importants. Assurez-vous de savoir ce que vous faites et ne faites confiance à aucun vieux codeur sur le net (y compris moi). Testez-le soigneusement.
Pour se débarrasser du marqueur, utilisez:
sed '/\/as.sh/s/^#//'
Ceci est l'opération inverse, il trouve les lignes contenant /as.sh
et substituer un caractère #
au début de la ligne avec rien.