Aide avec sed

Résolu
romulus -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
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. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
    1. romulus
       
      Merci !
      Quelle différence entre les deux ?
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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.
      0