У меня есть несколько текстовых файлов, которые я использую, чтобы делать заметки - просто обычный текст, обычно просто использующий cat >> file
. Иногда я использую пустую строку или две (просто возврат - символ новой строки), чтобы указать новую тему / направление мысли. В конце каждого сеанса, перед закрытием файла с помощью Ctrl+ D, я обычно добавляю лоты (5-10) пустых строк (ключ возврата) просто для разделения сеансов.
Это явно не очень умно, но для меня это работает. Я бы , однако конечный с большим и большим количеством ненужных пустых строк, поэтому я ищу способ , чтобы удалить (большинство) дополнительные строки. Есть ли Linux-команда (cut, paste, grep, ...?), Которую можно использовать напрямую с несколькими опциями? В качестве альтернативы, есть ли у кого-нибудь идея для сценария sed, awk или perl (на самом деле на любом языке сценариев, хотя я бы предпочел sed или awk), который бы делал то, что я хочу? Писать что-то на C ++ (что я на самом деле мог бы сделать сам) просто кажется излишним.
Случай № 1: Мне нужен скрипт / команда, которая удаляет более двух (3 или более) последовательных пустых строк и заменяет их всего двумя пустыми строками. Хотя было бы неплохо, если бы его также можно было настроить, чтобы удалить более одной строки (2 или более) и / или заменить несколько пустых строк одной пустой строкой.
Случай № 2: Я также мог бы использовать скрипт / команду, которая удаляла бы одну пустую строку между двумя строками текста, но оставляла несколько пустых строк как есть (хотя удаление одной из пустых строк также было бы приемлемо).
vim
один, и должен был заменить пустые строки одной пустой строкой).