2014-12-05 2 views
0

Я хотел бы удалить все двойные кавычки из текстового файла, используя vi.
Мой первый подход заключается в использовании заменяющей функции следующим образом
vi удалить двойные кавычки только обрабатывает текущую строку

:s/\"//g 

Это работает, но только на текущей строке.
Документы говорят, что «g» делает замену глобальным

Как продлить подстановку на весь файл?

+3

Использование% (сокращенное обозначение 1, $) в качестве выбора ':% s/\" // g' – nos

+0

Бинго. Отправьте это как ответ, чтобы получить полный кредит. – MonoThreaded

ответ

0

g (глобальный) суффикс в контексте регулярных выражений подстановки относится все матчи для этой линии. Это использование датируется временем , когда редакторы были ориентированы на линию. Vi - это просто визуальный режим ex , который Билл Джой написал в качестве замены для почтенного, ed.

При запуске ex команды, используя знак процента, % как диапазон для команды равносильно заданию 1,$, т.е. всего файла.

Примечание: Когда раньше сегодня я видел этот вопрос и без ответов, я решил, что, скорее всего, буду знать ответ. Однако после нажатия на него я увидел, что в комментариях уже был дан ответ, и подумал, что было бы справедливым ждать несколько (4) часов до публикации вышеуказанного ответа.

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