Как я могу использовать команду sed -i, чтобы заменить вхождение символа, начинающегося с определенной строки в файле до другой строки? - PullRequest
0 голосов
/ 11 мая 2018

У меня есть текстовый файл, в котором я хочу заменить вхождение «#» пустым символом, например, начиная с строки 10–20. Мой файл выглядит следующим образом:

some text here
some text here
some text here
#here1
#here2
#here3
#here4
#here5
erverv
ererver

, поэтому здесьот 4 до 8 я хочу удалить символ #.Как я могу добиться этого с помощью команды sed -i?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

вы можете использовать

sed 's/#//' -i yourfile

С флагом -i редактирует ваш файл и удаляет все # Вы, вероятно, хотите, чтобы это удалило только # в начале вашего файла

sed 's/^#//' -i yourfile

Однако, делая это только для определенных строк, а не для всех, я бы порекомендовал awk. Смотри man awk

0 голосов
/ 11 мая 2018

Используйте диапазон адресов:

sed -i -e '10,20s/^#//' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...