Как я могу изменить третье возникновение слова в файле с помощью sed?

Я должен изменить 3-е возникновение 'Ни одного' в файле text.txt использование sed команда. Я нашел эту команду

sed 's/None/All/3' text.txt

но это работает на 3-е возникновение 'Ни одного' в строке, не во всем документе. Там какой-либо путь состоит в том, чтобы использовать sed, чтобы не искать 'Ни один' во всем документе и изменить только 3-е возникновение?

Я мог использовать номер строки, но если мой документ изменится затем, то команда не будет работать.

1
задан 29 November 2019 в 05:10

1 ответ

Учитывая GNU sed, Вы можете вид фальшивки это путем добавления -z (или --null-data) опция:

-z, --null-data
             separate lines by NUL characters

Принятие Вашего документа на самом деле не содержит разграниченные пустым указателем данные, это заставит sed рассматривать целый документ как одну строку так, чтобы 3 модификатор принял подразумевать, что Вы хотите

sed -z 's/None/All/3' text.txt
3
ответ дан 3 December 2019 в 07:19

Другие вопросы по тегам:

Похожие вопросы: