Aide avec sed

Résolu
romulus -  
zipe31 Messages postés 38797 Statut Contributeur -
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

zipe31 Messages postés 38797 Statut Contributeur 6 433
 
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
romulus
 
Merci !
Quelle différence entre les deux ?
0
zipe31 Messages postés 38797 Statut Contributeur 6 433
 
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