2015-12-11 5 views
1

У меня есть такой файл, где мне нужно заменить всю строку строк командой sed, например, я хочу использовать sed на «Branglebracken» и заменить другим желаемым текстом, но я не хотите заменить его, когда это слово включено в другие строки. Я имею в виду, что мне нужно заменить его только тогда, когда слово только одно, а не когда оно включено в другие тексты. Поэтому в основном она должна начинаться и заканчиваться с ним ...Команда Sed заменяет строку строки

I came here to Branglebracken with my wife and child, as well as an Altmer herbalist who wanted to explore the forest.\n\nCould you check on them? Since they're not back already, I assume they've taken a rest at the wayshrine to the northwest. 
Branglebracken 
Branglebracken 
Branglebracken 
[intentionally repeated] 

Выход этот

I came here to Branglebracken with my wife and child, as well as an Altmer herbalist who wanted to explore the forest.\n\nCould you check on them? Since they're not back already, I assume they've taken a rest at the wayshrine to the northwest. 
word-replaced 
word-replaced 
word-replaced 
[intentionally repeated] 

Как вы заметили, текст должен еще иметь слово «Branglebracken»

ответ

3

Вы можете использовать анкеры, чтобы ограничить матч только, что шаблон поиска в строке:

sed 's/^Branglebracken$/word-replaced/' file 

^ и $ обеспечит ваше соответствие только Branglebracken.

+1

Спасибо, не знали о якорях с sed ... Я узнаю что-то новое каждый день;) – JohnnyKing94

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