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