Замена нескольких пустых строк одной пустой строкой в ​​vim /sed

Вопрос более или менее говорит обо всем. Я знаю, что /^$/d удалит все пустые строки, но я не вижу, как сказать «заменить две или более пустые строки единственная пустая строка '

Любые идеи?

33 голоса | спросил Andrew Bolster 8 Mayam11 2011, 00:19:30

1 ответ


36

Если вы не стреляете в vim или sed для какого-то другого использования, у кота действительно есть простой встроенный способ свернуть несколько пустых строк, просто используйте cat -s.

Если вы уже были в vim и хотели остаться там, вы можете сделать это с помощью внутреннего поиска и заменить, выпустив: :%s!\n\n\n\+!^M^M!g (The ^ M является визуальным представлением новой строки, вы можете ввести его, нажав Ctrl + v Enter ), или сохраните ввод текста просто обстреливая cat: :%!cat -s.

ответил Caleb 8 Mayam11 2011, 00:24:27

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132