Linux vi Изменение содержимого файла - PullRequest
0 голосов
/ 13 мая 2018

Предположим, у меня есть эти файлы в файле с именем test:

u001:x:comp111:mark_henry
u002:x:comp321:zack_mike
u003:x:comp132:chris_white

И я хочу открыть этот файл, перейти к строке с chris_white и изменить его на chris_brown, чтобы он стал u003:x:comp132:chris_brown. Я думаю, чтобы использовать команду sed, но я не знаю, как.

Ответы [ 2 ]

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

С vi вам нужно больше усилий, чем с базовым ed.

echo "s/chris_white/chris_brown/
w
q" | ed -s test

Вы можете использовать printf для записи строк в качестве параметров:

printf "%s\n" "s/chris_white/chris_brown/" w q | ed -s test
0 голосов
/ 13 мая 2018

Используя sed, метод ниже может заменить все вхождения от chris_white до chris_brown, не открывая файл test.

sed -i -e 's/chris_white/chris_brown/g' test

Если вы хотите открыть файл test в vi editor и заменить его, выполните следующие действия:

1) тест vi

2) Тип :%s/chris_white/chris_brown/g

3) Нажмите Enter

Это заменит все вхождения от chris_white до chris_brown в вашем файле test.

...