GNU/Linux >> Linux Esercitazione >  >> Linux

I 20 migliori comandi sed da usare

Ciao amici. Il comando sed è un comando abusato dagli amministratori di sistema di tutto il mondo. Viene fondamentalmente utilizzato per sostituire testo con testo in un file di testo con un singolo comando. Ecco perché, oggi, ti presenteremo i primi 20 comandi sed. Per questo, esamineremo quelli più utili e comuni.

I primi 20 comandi sed da usare

Sostituisci una stringa con un'altra stringa

Il comando sed viene utilizzato per sostituire le stringhe. Ma è così flessibile che possiamo personalizzare l'esecuzione in base alle nostre esigenze.

In un file di testo per modificare la stringa macOS a Linux dovremmo correre

sed 's/macOS/Linux/' [file]

Quindi, puoi adattare il comando in base alle stringhe che desideri.

2.- Sostituisci un certo numero di occorrenze di una stringa

Il comando precedente sostituisce la stringa solo una volta. È possibile specificare l'ordine di sostituzione della stringa.

sed 's/macOS/Linux/2' [file]

In questo caso, sostituirà solo la seconda occorrenza.

3.- Sostituisci tutte le occorrenze di una stringa

sed 's/macOS/Linux/g' [file]

4.- Sostituisci una stringa su un numero di riga specifico.

Un'altra opzione utile è sostituire una stringa di caratteri su un numero di riga. Questo è utile se conosci bene il file.

sed '[line] s/macOS/Linux/' [file]

Ad esempio, per sostituire una stringa sulla terza riga.

sed '3 s/macOS/Linux/' [file]

5.- Sostituzione dei caratteri all'interno di un intervallo

Per sostituire i caratteri ma entro un intervallo di righe specificato in un file.

sed '30,40 s/macOS/Linux/g' [file]

In questo caso, la stringa verrà sostituita solo tra le righe 30 e 40.

6.- Inserisci interruzioni di riga nei file

È anche possibile inserire un'interruzione di riga vuota. Per ottenere ciò, devi eseguire.

sed G [file]

Molto utile nei file in cui tutto è vicino.

7.- Elimina righe da un file

Sebbene il comando sed venga utilizzato per sostituire le stringhe, puoi effettivamente fare molte cose con esso. Uno di questi è eliminare una riga. Per farlo, corri.

sed 'nd' [file]

Sostituisci n con il numero della riga da eliminare.

8.- Mostra l'intero file tranne un certo intervallo di righe.

Puoi anche visualizzare un file meno un intervallo di righe.

sed '20,35d' [file]

In questo caso verrà visualizzato l'intero file eccetto dalla riga 20 alla 35.

9.-Visualizza un intervallo specifico di righe in un documento

Se vuoi visualizzare un intervallo specifico all'interno del file, devi eseguire il seguente comando:

sed -n 'Ni,Nlp' [file]

Dove devi sostituire Ni con il numero di riga iniziale e Nl con la fine.

sed -n '5,15p' [file]

In questo caso, mostrerà l'intervallo di righe da 5 a 15.

10.- Elimina le righe corrispondenti in un file di testo

Puoi anche eliminare le righe che corrispondono a una specifica stringa di testo.

sed '/macOS/d' [file]

In questo caso, tutte le righe con la parola macOS sarà cancellato.

11.- Stampa il numero di riga nel file

Per stampare il numero di riga in un file di testo con il comando sed . Per ottenere ciò, dobbiamo solo eseguire il seguente comando.

sed '=' [file]

In questo modo quando il file viene stampato, verrà visualizzato il numero di riga.

12.- Elimina tutte le righe di un file tranne quelle specificate.

Ora puoi eliminare tutte le righe in un file tranne quelle specificate.

sed '15,21!d' [file]

In questo modo il file cancellerà tutte le righe tranne quelle da 15 a 21.

13.- Sostituisci tutti i caratteri maiuscoli con quelli minuscoli usando sed

Il caso di maiuscolo e minuscolo è sempre rilevante quando si tratta di file di testo. Quindi con sed puoi sostituire tutti i caratteri maiuscoli con quelli minuscoli.

sed 's/\(.*\)/\L\1/' [file]

14.- Elimina qualsiasi riga che inizia con una stringa

Se vuoi eliminare tutte le righe che iniziano con una stringa specifica, puoi eseguire qualcosa di simile a questo

sed '/^macOS/d' [file] 

15.- Sostituisci tutte le occorrenze di una stringa da una riga alla fine

In questo caso, puoi sostituire una stringa con un'altra da una determinata riga alla fine della stringa

sed '3,$s/macOS/Linux/g' [file]

In questo caso ho scelto la riga 3, ma può essere qualsiasi riga.

16.- Stampa una serie di righe da un file

Se vuoi stampare solo una serie di righe puoi farlo anche con sed come segue

sed -n '2,10p' [file]

In questo esempio verranno stampate tutte le righe da 2 a 10.

Elimina le righe vuote dopo ogni riga in un file

L'eliminazione di righe vuote può essere molto utile nei file di configurazione o in altri file in cui è necessario elaborarla.

Per eliminare queste righe vuote puoi eseguire

sed '/^$/d'[file]

È così semplice.

Metti in maiuscolo il primo carattere di ogni parola

Questa è una delle opzioni più utili e più utilizzate. Puoi sostituire la prima lettera di ogni parola con l'equivalente in lettere maiuscole.

Per ottenere ciò, esegui semplicemente questo comando

sed 's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g'

È facile.

Rimuovi l'ultima riga di un file

Ci sono modifiche che dobbiamo apportare in un file di configurazione e di solito lo posizioniamo nell'ultima riga. E se volessimo eliminarlo? Bene, puoi rimuovere l'ultima riga di un file eseguendo

sed '$d' [file]

20.- Mostra l'aiuto del comando sed

Infine, puoi consultare la guida per il comando esegui

sed --help

E otterrai una schermata di output come questa.

Grazie per la lettura e spero che ti sia piaciuto e che possa essere utile per il tuo lavoro.

pagina di comando sed

Altri comandi da terminale


Linux
  1. 5 motivi per usare Linux nel 2020

  2. Come sostituire una stringa in un file?

  3. Come utilizzare Sed per sostituire una stringa multilinea?

  4. Come utilizzare Sed o Ex per sostituire un blocco (codice multilinea) con un nuovo blocco di testo (codice)?

  5. Sostituzione SED su più righe

Come utilizzare il comando SED per trovare e sostituire la stringa nei file

Come usare il comando TOP

COME USARE SED EDITOR

I miei 10 migliori comandi Linux che uso ogni giorno (nel 2021)

I 30 migliori comandi Linux

Come utilizzare Sed per trovare e sostituire una stringa in un file