Cheat sheet "sed" comunemente usato:
I caratteri più comunemente usati utilizzati nel comando "sed" sono spiegati nella tabella seguente.
Carattere | Scopo |
UN | Viene utilizzato per l'aggiunta di contenuti. |
B | Viene utilizzato per il contenuto di ramificazione. |
C | Viene utilizzato per cambiare il contenuto. |
D | Viene utilizzato per eliminare una riga di un file. |
D | Viene utilizzato per eliminare la prima riga di un file. |
G | Era solito copiare dal testo di tenuta. |
G | Viene utilizzato per aggiungere dal testo di tenuta. |
H | Viene utilizzato per copiare nel testo di tenuta. |
H | Viene utilizzato per aggiungere al testo di tenuta. |
io | È usato per l'inserimento. |
IO | Viene utilizzato per stampare la linea sostitutiva. |
N | È usato per andare alla riga successiva. |
N | Viene utilizzato per aggiungere la riga di input successiva. |
P | È usato per stampare. |
P | Viene utilizzato per stampare la prima riga. |
Q | È usato per smettere. |
Q | È usato per smettere immediatamente. |
R | Viene utilizzato per leggere il file. |
R | Viene utilizzato per leggere la riga dal file. |
S | È usato per sostituire. |
T | Viene utilizzato per testare la sostituzione. |
T | Viene utilizzato per verificare la sostituzione. |
w | Viene utilizzato per scrivere nel file. |
W | Viene utilizzato per scrivere una riga al file. |
X | Viene utilizzato per scambiare motivi e tenere. |
y | È usato per tradurre. |
z | È usato per cancellare la linea. |
'=' | Viene utilizzato per stampare il numero di riga. |
Sostituisci più righe utilizzando il comando "sed" dal terminale:
In che modo il comando "sed" può essere utilizzato per sostituire le più righe da un file dal terminale è mostrato in questa parte di questo tutorial. Crea un file denominato sed.TXT Con i seguenti contenuti test i comandi di questa parte.
sed.TXT
La forma completa di SED è "Stream Editor".
È un'utilità UNIX che viene utilizzata per leggere e convertire il testo in un formato diverso.
È stato sviluppato da Lee E. McMahon.
Viene utilizzato per l'elaborazione del testo.
Supporta espressioni regolari.
Esempio-1: sostituire due linee consecutive
Il seguente comando "sed" sostituirà due righe consecutive con un'altra riga. Qui, l'opzione -Z viene utilizzata per sostituire le righe consecutive con i dati nulli prima di aggiungere il testo di sostituzione. Secondo il comando, il 3Rd e 4th Le righe del file verranno sostituite dal testo, 'È uno strumento molto utile'.
$ cat sed.TXT
$ sed -z 's/It è stato sviluppato da Lee E. McMahon.\ nit viene utilizzato per il testo
in lavorazione./È uno strumento molto utile./'sed.TXT
La seguente output apparirà dopo aver eseguito i comandi.
Esempio 2: sostituire più righe in base alla corrispondenza e alla flag globale
Il seguente comando "sed" sostituirà tutte le righe che iniziano con la parola, 'Esso' dalla parola, "Questa riga viene sostituita '.
$ cat sed.TXT
$ sed 's/^it.*/Questa riga viene sostituita/g 'sed.TXT
La seguente output apparirà dopo aver eseguito i comandi. Tre righe contengono la parola 'Esso'Nel file. Quindi, queste righe sono state sostituite dal testo di sostituzione.
Esempio-3: sostituire più righe in base alla partita e al comando successivo
Il seguente comando "sed" sostituirà la parola "È"Per la parola,"era"Con il comando successivo," N ".
$ cat sed.TXT
$ sed 'n;/is/s/is/was/' sed.TXT
La seguente output apparirà dopo aver eseguito i comandi. Qui, 'È' esiste nel 2nd e 4th righe del file e queste righe sono modificate dalla parola 'era'.
Sostituisci più righe creando il file di script "sed":
Negli esempi precedenti, i comandi "SED" sono stati eseguiti dal terminale. Ma è un linguaggio di scripting e se lo script contiene più istruzioni, è meglio creare un file SED con lo script. Crea un file di testo denominato studenti.TXT con il seguente contenuto in cui verrà applicato lo script "sed".
studenti.TXT
ID: 111045Esempio-4: sostituire più righe di un file usando il file di script 'sed'
Crea un file sed chiamato a sostituire.sed con il seguente contenuto per sostituire le più righe in base al modello di ricerca. Qui, la parola 'CSE'Verrà cercato nel file di testo e se esiste la corrispondenza, cercherà di nuovo il numero 35 e 15. Se la seconda corrispondenza esiste nel file, verrà sostituito dal numero 45.
sostituire.sed
/ Cse/
p; n;
/ 35/
S/35/45/;
p; d;
/ 15/
S/15/55/;
p; d;
P;
Esegui il comando seguente per controllare il contenuto esistente del file. 'CSE' è apparso quattro volte nel file di testo. 35 e 15 esistono in due posti.
$ Cat Students.TXT
Il comando seguente sostituirà il contenuto di più righe in base allo script SED.
$ sed -n -f sostituire.SED STUDENTI.TXT
Il seguente output apparirà dopo aver eseguito il comando.
Conclusione
In questo tutorial sono stati mostrati diversi modi per sostituire più righe o il contenuto di più righe usando il comando "sed". In questo tutorial è visualizzato anche lo script "sed". Spero che questo tutorial aiuterà il lettore a sostituire più righe di qualsiasi file utilizzando il comando "SED".