Aide avec sed

Résolu
Bonjour,

J'ai besoin de modifier en lot des fichiers cron :

# cat crontab
*/10 * * * * /bin/commande
*/1   * * * * /bin/commande2


Je voudrais changer la deuxième ligne pour avoir

*/10 * * * * /bin/commande
*/5  * * * * /bin/commande2


Le problème que j'obitens ceci car */1 est également présent dans la ligne 1.

# cat crontab | sed 's/*\/1/*\/5/g'
*/50 * * * * /bin/commande
*/5  * * * * /bin/commande2


Quelqu'un aurait une idée ?

Merci d'avance

1 réponse

  1. Contributeur
    Salut,

    $ cat plop 
    */10 * * * * /bin/commande
    */1   * * * * /bin/commande2
    
    $ sed 's#1\b#5#' plop 
    */10 * * * * /bin/commande
    */5   * * * * /bin/commande2
    
    $ sed '2 s#1#5#' plop 
    */10 * * * * /bin/commande
    */5   * * * * /bin/commande2
    
    $
    1. Merci !
      Quelle différence entre les deux ?
    2. Contributeur
      Une cible directement la ligne (sed '2 s#1#5#')

      L'autre tient compte juste du fait que le chiffre 1 est bien seul et non pas suivi d'un autre chiffre ou caractère (\b)
      Attention cette solution ne convient que pour ton exemple.