Come eliminare le linee vuote usando sed

Come eliminare le linee vuote usando sed
Esistono due possibili metodi per eliminare le righe vuote da un file di testo usando SED; I metodi sono elencati di seguito e sono discussi in dettaglio nella prossima parte di questa guida.
  • Metodo 1: Come eliminare tutte le righe vuote in un file di testo usando sed
  • Metodo 2: Come eliminare le righe specifiche dal file di testo usando sed

Metodo 1: come eliminare tutte le righe vuote in un file di testo usando SED

Prima di scavare nella profondità di questo metodo, comprendiamo la sintassi per eliminare le linee vuote usando SED:

Sintassi

sed [opzioni] '/^$/d' [nome file]

IL '/^$/d'è la parte fondamentale di questo comando; Dove "^"Il simbolo mostra che la cancellazione deve essere eseguita dai mezzi iniziali dalla prima riga; "$"Rappresenta che deve andare fino all'ultima riga del file di testo e"D"Mostra che la cancellazione è in corso.

Questa sezione ti guiderà ad eliminare tutte le righe in un file di testo con l'aiuto di Stream Editor (SED):

Abbiamo creato un file di testo "eliminare.TXT; In primo luogo, ottieni il contenuto di questo file utilizzando "gatto"Comando come indicato di seguito e abbiamo usato"-N"Opzione con esso, in modo che possiamo ottenere anche i numeri di linea:

Si osserva che ci sono più righe vuote e stanno influenzando l'estetica di questo file di testo e i lettori potrebbero non prestare attenzione a tale contenuto.

$ cat -n elimina.TXT

Quindi, per evitare la situazione sopra indicata; È necessario rimuovere le righe vuote per semplificare il processo di lettura; Il comando menzionato di seguito rimuoverà tutte queste righe da "eliminare.TXT" file.

Ora puoi notare che le righe vuote vengono lavate e solo quelle linee sono stampate che contengono un po 'di testo, ma il risultato viene visualizzato solo sul terminale mentre il file originale rimane lo stesso:

$ sed '/^$/d' elimina.TXT

Se si desidera rimuovere le righe vuote e aggiornare anche il file originale, è necessario utilizzare l'opzione sul posto "-io"E il comando di seguito ti aiuterà a farlo:

$ sed -i '/^$/d' elimina.TXT

Metodo 2: come eliminare le righe vuote selezionate in un file di testo usando SED

La sintassi per eliminare le righe specifiche in un file di testo è scritta di seguito:

Sintassi

sed [options] '(line-number) d' [nome file]

La parte principale della sintassi su cui si basa il comando è "(Numero di linea) D '"; Devi mettere il numero esatto della riga di linea vuota in "(Numero di linea)"E la lettera"D"Mostra che il numero di riga inserito verrà eliminato:

È possibile eliminare alcune righe specifiche all'interno di un file di testo usando il comando SED; Abbiamo creato un nuovo file di testo "nuovo.TXT"Per questa sezione. Ad esempio, l'output del comando sotto mostra quel numero di riga "2" è vuoto:

$ cat -n newfile.TXT

E se si desidera eseguire il comando per eliminare questa riga solo, allora devi specificare il numero di riga come abbiamo fatto nel comando menzionato di seguito:

$ sed '2d' newfile.TXT

È inoltre possibile eliminare le righe consecutive utilizzando questo metodo; Ad esempio, il "nuovo.TXT"Il file ha 3 righe vuote"4,5,6"Come si può vedere nell'immagine qui sotto:

$ cat -n nuovo.TXT

Per rimuovere queste tre linee consecutive; devi inserire ","Tra i numeri della riga di partenza e finale come si può vedere nel comando seguente:

$ sed '4.6d' nuovo.TXT

Infine, puoi anche usare l'opzione in atto "-io"Per salvare le modifiche in modo permanente al file come senza questa opzione, il comando SED stampa il risultato sul terminale mentre abbiamo modificato il comando sopra per usarlo con"-io" opzione:

$ sed -i '4.6d' nuovo.TXT

Conclusione

Ubuntu supporta diversi modi per manipolare i dati in un file di testo; Ad esempio, è possibile utilizzare l'editor di testo predefinito di Ubuntu, l'editor Nano ecc. Tuttavia, l'utilità della riga di comando SED di Ubuntu sta guidando tutti questi redattori a causa delle sue funzionalità come accedere al file dal terminale e apportare modifiche senza aprirlo. In questo articolo, abbiamo usato il comando sed per rimuovere le righe vuote dal file di testo e descritto due metodi per questa operazione. "Metodo 1"È adatto specificamente quando si dispone di centinaia di righe in un file di testo e si desidera eliminare tutte le righe vuote contemporaneamente: d'altra parte,"Metodo 2"È adatto per eliminare le linee vuote in un piccolo documento in cui è possibile eliminare le righe una per uno. Tuttavia, devi cercare linee vuote da solo, se vuoi seguire "Metodo 2": Quindi, se il confronto viene disegnato tra i due metodi,"Metodo 1"Superforms"Metodo 2"Informazioni sulla cancellazione di linee vuote.