Ho alcuni file di testo che uso per prendere appunti - solo testo normale, di solito solo usando cat >> file
. Di tanto in tanto uso una o due righe vuote (solo ritorno - il carattere di nuova riga) per specificare un nuovo soggetto / linea di pensiero. Alla fine di ogni sessione, prima di chiudere il file con Ctrl+ D, in genere aggiungo molte (5-10) righe vuote (tasto invio) solo per separare le sessioni.
Questo ovviamente non è molto intelligente, ma funziona per me a questo scopo. Io faccio comunque fine-up con un sacco e un sacco di righe vuote non necessarie, quindi sto cercando un modo per rimuovere (la maggior parte) le linee extra. Esiste un comando Linux (cut, paste, grep, ...?) Che potrebbe essere usato direttamente con alcune opzioni? In alternativa, qualcuno ha un'idea per una sceneggiatura sed, awk o perl (bene in qualsiasi linguaggio di scripting, anche se preferirei sed o awk) che farebbe quello che voglio? Scrivere qualcosa in C ++ (cosa che potrei davvero fare da solo), sembra eccessivo.
Caso n. 1: ho bisogno di uno script / comando che rimuova più di due (3 o più) righe vuote consecutive e le sostituisca con solo due righe vuote. Sebbene sarebbe bello se anche potesse essere ottimizzato per rimuovere più di una riga (2 o più) e / o sostituire più righe vuote con una sola riga vuota.
Caso n. 2: potrei anche usare uno script / comando che rimuova una singola riga vuota tra due righe di testo, ma lasci più righe vuote così com'è (anche se rimuovere una delle righe vuote sarebbe accettabile).
vim
e doveva sostituire le righe vuote con una riga vuota).