2010-07-26 4 views
2

La commande sed suivante remplace la chaîne OLD par la chaîne . Mon objectif est de remplacer le OLD par NEW uniquement si le mot COMMAND apparaît comme le premier mot de la ligne. Comment réparer ma syntaxe sed afin de remplacer OLD avec NEW seulement si COMMAND est le premier mot de la ligne? (Note: COMMAND emplacement de mot pourrait être après quelques espaces de la ligne commençant.)sed + ne remplace que si le premier mot correspond à la ligne

Lidia

sed "/^ *#/b; /COMMAND/ s/OLD/NEW/g" file 

    COMMAND OLD 
    OLD COMMAND 

après exe sed:

COMMAND NEW 
    NEW COMMAND 

Répondre

1

essayez ceci: 's/^(\s*COMMAND) OLD(.*)$/\1 NEW\2/'

Questions connexes