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

Мне нужно изменить переменную в файле, используя скрипт bash, я думаю, что sed - это путь, но я не могу понять регулярное выражение.

Я попытался заменить символ в файле, но потом понял, что то, что я заменяю, тоже изменится.

Можете ли вы помочь с заменой 3-й и 4-й строки в файле с помощью sed?

Например, из того, что я имею в виду

mode blender 
type kitchen 
blender.net 5.5.5.5.6:33 blender blender 
blender.com 5.5.5.5.5:33 blender blender

я хочу иметь возможность изменить весь 3-й и 4-й ряд с

blender.net x.x.x.x:33 blender blender
1
задан 25 April 2016 в 09:11

1 ответ

Можно указать на диапазон строк для работы на в sed, например, в случае 3,4 строка указания 3 к (и) 4:

sed -r '3,4 s/.*/blender.net x.x.x.x:33 blender blender/' file.txt

Пример:

$ cat file.txt
mode blender 
type kitchen
blender.net 5.5.5.5.6:33 blender blender
blender.com 5.5.5.5.5:33 blender blender

$ sed -r '3,4 s/.*/blender.net x.x.x.x:33 blender blender/' file.txt
mode blender 
type kitchen
blender.net x.x.x.x:33 blender blender
blender.net x.x.x.x:33 blender blender

Здесь мы делаем желаемую операцию замены на строке 3 и 4.

<час>

От переменной:

$ var=5.5.5.5.6:3

$ sed -r "3,4 s/.*/blender.net $var blender blender/" file.txt
mode blender 
type kitchen
blender.net 5.5.5.5.6:3 blender blender
blender.net 5.5.5.5.6:3 blender blender
1
ответ дан 25 April 2016 в 19:11
  • 1
    А-ч! Просит пароль, тогда открывает нано GNU 2.5.3. с ta терминально выглядящим окном. Если я пытаюсь вставить код снова, ничего не происходит после строки MimeType. – Cookie UK 17 September 2017 в 06:53

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

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