Uno dei tanti comandi essenziali di Linux è anche il comando SED che svolge un ruolo vitale nella manipolazione dei file. È usato per molti scopi; Alcuni dei principali sono i seguenti.
Rimuovere o eliminare quella particolare linea che corrisponde ai motivi dati.
Quindi, se stai pensando di rimuovere le righe da un file usando il comando SED, leggi il nostro articolo dall'inizio alla fine. Ti daremo un breve sui metodi per rimuovere le linee
Come rimuovo le righe da un file usando il comando SED?
Useremo il comando SED senza -I in questo articolo perché è un articolo dimostrativo. Un metodo simile è l'opzione "secco", che mostra tutti i valori per il file senza apportare modifiche.
Usando il comando SED, possiamo rimuovere le righe a seconda dell'ambiente usando -i.
Per mostrare il comando SED, creiamo un file chiamato Linuxhintos.TXT. Al fine di fornire informazioni migliori, includiamo questi numeri di riga nei seguenti contenuti.
Rimozione delle righe da un file in base alla posizione
Questa parte spiegherà l'uso del comando sed per rimuovere le righe da un file 'Linuxhintos.txt "in base alla sua posizione.
Innanzitutto, aprire il file utilizzando il comando seguente:
gatto ~//
Ora esegui il comando seguente per eliminare la prima riga:
file sed 'nd'
Nel comando sopra:
N- Riga "nth" in un file
D- Eliminazione del file
Quindi, eseguiamo questo comando nel nostro esempio per eliminare la decima riga dal file di testo:
Documenti del CD
Linuxhintos Sed '10D'.TXT
Rimuovi l'ultima riga da un file
Se dobbiamo rimuovere l'ultima riga dal file, anziché 'n' nella sintassi usata sopra, useremo '$.'Qui, $ rappresenta l'ultima riga.
File '$ d' Sed
Dopo questo, il nostro file cambierà in qualcosa del genere.
Rimuovi insieme la prima riga e l'ultima riga
Se vogliamo rimuovere la prima e le ultime righe, dobbiamo combinare i due comandi sopra.
sed 'nd; $ d' nome file
Con questo comando, entrambe le nostre prime e le ultime righe vengono rimosse dal file contemporaneamente.
Come puoi vedere nell'immagine sopra, la prima e l'ultima riga sono state rimosse dal file di testo.
Rimuovi una gamma di linee
Il comando SED può rimuovere le righe di qualsiasi intervallo. Per questo, dobbiamo solo inserire numeri di linea "minimo" e "massimo".
In questo esempio, rimuoveremo le linee che vanno da 4 a 7 numeri.
File '4,7d' Sed
Dopo aver rimosso queste gamme di righe, il nostro file sembrerà così.
Rimuovere più linee
Sed può anche rimuovere più linee in un set. Come puoi vedere, abbiamo rimosso la terza, sesta, ottava e ultima riga in questo esempio.
sed '3d; 6d; 8d; $ d' file
Quando si applica il comando SED scritto sopra, le seguenti modifiche si verificano nel nostro file 'Linuxhintos.TXT'.
Rimozione di linee diverse dalla linea specificata o dalla gamma di linee specificate
Attraverso il comando SED, rimuoviamo quelle righe dai file che non sono definiti nel comando, i.e., Le linee diverse da quelle descritte vengono rimosse.
Da questo file, rimuoveremo le righe rimanenti a parte i numeri da 4 a 7.
Sed '4,7! d 'file
Qui, il segno di "!"Rappresenta che non dovremmo rimuovere la riga di questo numero specifico dal file.
! - utilizzato per mantenere il numero specifico di righe dal file
Dopo questo, il nostro file assomigliarà a questo:
Rimuovi le righe vuote o vuote
Il comando SED scritto di seguito rimuove le righe vuote o vuote dal file appropriato.
file sed '/^$/d'
Poiché non ci sono righe vuote o vuote nel nostro file, non si sono verificate modifiche:
Rimuovere le righe dal file in base al modello
Nella seconda parte, vedremo che con l'aiuto del comando SED, come rimuoviamo le righe di un modello simile.
Rimozione di linee che contengono uno schema
Nell'esempio, il comando seguente rimuove le righe corrispondenti al modello "Sistema" dal file 'LinuxHintos.TXT'.
file sed '/system/d'
Quindi, dobbiamo rimuovere quelle linee che non hanno "non disponibili". Ecco perché eseguiremo il comando seguente:
sed '/non disponibile/d' linuxhintos.TXT
Rimozione di linee che contengono una o più stringhe
Attraverso il comando SED, possiamo rimuovere le righe corrispondenti al modello "non aggiornato" o "non disponibile" dal file 'LinuxHintos.txt 'e quel comando è qualcosa del genere:
sed '/non aggiornato \ | non disponibile/d' linuxhintos.TXT
Rimozione di linee che iniziano con un carattere specifico
Possiamo rimuovere tutte le righe che iniziano con qualsiasi carattere attraverso il comando SED. Abbiamo creato un nuovo file chiamato 'LinuxHintos.txt 'con i seguenti contenuti:
Il comando SED seguente rimuoverà tutte le righe che iniziano con il carattere "A".
file sed '/^a/d'
Rimuoveremo tali righe dal nostro file, che iniziano con 'A' e 'L'. Per il quale useremo il seguente comando.
file sed '/^[al]/d'
Usando SED, rimuoviamo tutte le linee che iniziano con "A" e finendo con la stringa "Linux".
sed '/^(a).*(Linux)/D 'File
Rimozione di linee che si terminano con un carattere specificato
Questo comando SED rimuove tutte le righe che terminano con “M."
file sed '/m $/d'
Il seguente comando SED rimuoverà le righe che terminano con entrambi i caratteri 'M' e 'X'.
file sed '/[xm] $/d'
Le righe dei caratteri che terminano con "M" e "X" vengono rimosse dal nostro file; Quindi, il nostro file sembrerà così.
Rimozione di tutte le linee che iniziano con maiuscole
Rimuoveremo tutte queste righe dal file usando il comando seguente: una lettera maiuscola.
file sed '/^[a-z]/d'
Dopo aver applicato il comando sopra, tutte le righe del nostro file che sono iniziate con lettere maiuscole verranno rimosse e la modifica nel nostro file sarà così.
Rimozione di una linea di pattern di abbinamento con un intervallo specificato
Con l'aiuto del seguente comando, rimuoveremo solo quelle righe da alcune linee definite con uno schema specifico.
Questo esempio rimuove solo le righe con i modelli Linux dal file tra 1 e 6 righe.
sed '1,6 /linux/d;
Dopo aver applicato il comando, il nostro file 'sed - demo -1.txt 'sembrerà qualcosa di simile.
Elimineremo la seconda riga con il seguente comando SED solo se contiene il modello "OpenSuse".
File Sed '2 /OpenSUSUS/D;'
Il comando appropriato rimuoverà la seconda riga dal nostro file 'sed - demo -1.txt "in quanto ha un modello specifico di" Opensuse."
Il comando appropriato rimuoverà la seconda riga dal nostro file 'sed - demo -1.txt "in quanto ha un modello specifico di" Opensuse."
Possiamo anche eliminare la riga corrispondente al modello "Sistema" e la riga seguente nel file utilizzando il comando SED.
file sed '/system/n; d;'
Rimuovere le linee con modelli specifici
È possibile rimuovere tutte le righe seguendo il modello "centOS" usando il comando SED.
file sed '/centos/, $ d'
Rimozione di linee che contengono numeri/cifre
Con il comando SED scritto di seguito, possiamo rimuovere tutte le righe contenenti "cifre.'
file sed '/[0-9]/d'
Apportando alcune modifiche nel comando SED, rimuoveremo tutte queste righe dal file che iniziano solo con le cifre.
file sed '/^[0-9]/d'
Dopo questo comando, tutte le righe che iniziano con le cifre verranno rimosse dal nostro file.
Ancora una volta, apportando alcune modifiche al comando, rimuoveremo solo quelle righe dal file che termina con una cifra.
file sed '/[0-9] $/d'
Rimozione di righe che contengono caratteri alfabetici da un file
Con il comando SED, elimineremo tutte le righe dal file 'Linuxhintos.txt ", che contengono caratteri alfabetici.
file sed '/[a-za-z]/d'
Conclusione
Questo articolo mostra diversi esempi di rimozione delle righe da un file usando il comando SED. Vediamo come con l'aiuto del comando SED, possiamo facilmente rimuovere qualsiasi riga dai file. Se ricordiamo questi comandi, allora risparmiamo molto tempo riducendo.