Подтвердить удаление строки

Я создал функцию для поиска всех двойных строк в файле.

Я использую "номер строки" g/.*/d для удаления строки.

Однако я хотел бы подтвердить, нужно ли удалять строку или нет, например, команду s/..//gc

Можно ли удалить определенную строку глобальной или замещающей командой
и подтверждать каждое действие?


person Reman    schedule 09.07.2011    source источник
comment
связанные: stackoverflow.com/questions/42954285/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 19.07.2018


Ответы (2)


Почему бы не попробовать команду замены вместо команды удаления?

"line-number"s/^.*$\n//c
person Prince Goulash    schedule 09.07.2011
comment
Я никогда не думал об использовании \n, без которого мне пришлось использовать команду удаления... - person Gordon Bai; 01.05.2021

Если бы я хотел удалить строки в файле и подтвердить каждую, я бы:

  • ищите первый
  • если я хочу удалить его, нажмите dd
  • искать следующий с n
  • если я хочу удалить это, нажмите ., иначе n еще раз
person Greg Hewgill    schedule 09.07.2011
comment
в моем случае это невозможно. Я проверяю каждую строку с каждой другой строкой и помещаю двойные номера строк в список. Затем я использую код \%l, чтобы поместить их все в переменную @/ и вернуть в файл. На мой взгляд, нет возможности перейти к следующему, используя \%l в поиске. - person Reman; 09.07.2011