2010-07-26 2 views
2

Следующая команда sed заменяет строку OLD строкой NEW. Моей целью является замена OLD на NEW, только если COMMAND слово появляется в качестве первого слова в строке. Как исправить мой синтаксис sed для того, чтобы заменить OLD с помощью NEW only if COMMAND - значит первое слово в строке поиска? (Примечание: COMMAND слово расположение может быть после того, как некоторые пробелы из строки, начинающейся.)sed + заменить только в случае совпадения первого слова в строке

Lidia

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

    COMMAND OLD 
    OLD COMMAND 

после SED ехе:

COMMAND NEW 
    NEW COMMAND 

ответ

1

попробовать это: 's/^(\s*COMMAND) OLD(.*)$/\1 NEW\2/'

Смежные вопросы