A volte è necessario sostituire più righe di un file con un particolare carattere o testo. Esistono diversi comandi in Linux per sostituire più righe di un file. ‘sed’ comando è uno di loro per fare questo tipo di attività. La forma completa di` sed ‘ è Steam Editor, ed è utilizzato principalmente per leggere e convertire il testo in modi diversi utilizzando un’espressione regolare., Come questo comando può essere utilizzato per sostituire le righe multiple di un file in modi diversi sono spiegati in questo tutorial.
Cheat Sheet `sed` comunemente usato:
I caratteri più comunemente usati nel comando `sed` sono spiegati nella seguente tabella.
Carattere | Scopo |
a | Viene utilizzato per aggiungere contenuti. |
b | Viene utilizzato per la ramificazione del contenuto. |
c | Viene utilizzato per modificare 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 usato per copiare dal testo in possesso. |
G | Viene utilizzato per aggiungere dal testo in possesso. |
h | Viene utilizzato per copiare nel testo in possesso. |
H | Viene utilizzato per aggiungere al testo in possesso. |
i | Viene utilizzato per l’inserimento. |
I | Viene utilizzato per stampare la linea sostitutiva., |
n | Viene utilizzato per passare 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 uscire. |
Q | È usato per uscire immediatamente. |
r | È usato per leggere il file. |
R | È usato per leggere la riga dal file. |
s | È usato per sostituire., |
t | Viene utilizzato per testare la sostituzione. |
T | Viene utilizzato per verificare l’assenza di sostituzione. |
w | È usato per scrivere nel file. |
W | È usato per scrivere una riga nel file. |
x | Viene utilizzato per scambiare modelli e tenere premuto. |
y | È usato per tradurre. |
z | È usato per cancellare la linea. |
‘=’ | Viene utilizzato per stampare il numero di riga., |
Sostituire più righe utilizzando il `sed` comando da terminale:
Come il `sed` di comando può essere utilizzato per sostituire il più righe da un file dal terminale è mostrato in questa parte di questo tutorial. Creare un file denominato sed.txt con il seguente contenuto testare i comandi di questa parte.
sed.txt
La forma completa di sed è “stream editor”.
Si tratta di un programma di utilità Unix che viene utilizzato per leggere e convertire il testo in un formato diverso.
È stato sviluppato da Lee E. McMahon.,
Viene utilizzato per l’elaborazione del testo.
Supporta le espressioni regolari.
Esempio-1: Sostituire due righe 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 dati nulli prima di aggiungere il testo sostitutivo. Secondo il comando, la 3a e la 4a riga del file saranno sostituite dal testo, ‘È uno strumento molto utile’.
s sed-z ‘s/E’ stato sviluppato da Lee E. McMahon.\ nIt è usato per l’elaborazione del testo
.,/ È uno strumento molto utile./ ‘sed.txt
Il seguente output apparirà dopo aver eseguito i comandi.
Esempio-2: Sostituisci più righe in base alla corrispondenza e al flag globale
Il seguente comando `sed` sostituirà tutte le righe che iniziano con la parola, ‘It’ con la parola, ‘Questa riga è sostituita ‘.
s sed ‘ s / ^ It.* / Questa linea è sostituita / g ‘ sed.txt
Il seguente output apparirà dopo aver eseguito i comandi. Tre righe contengono la parola ‘ It ‘ nel file., Quindi, queste righe sono state sostituite dal testo sostitutivo.
Esempio-3: Sostituisci più righe in base al comando match e next-line
Il seguente comando `sed` sostituirà la parola,’is‘ con la parola, ‘was‘ con il comando next-line, ‘n’.
s sed ‘ {n;/ is/{s/is/ was/}}’ sed.txt
Il seguente output apparirà dopo aver eseguito i comandi. Qui,’ is ‘ esiste nella 2a e 4a riga del file, e queste righe sono modificate dalla parola ‘was’.,
Sostituire 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, allora è meglio creare un file sed con lo script. Creare un file di testo denominato studenti.txt con il seguente contenuto in cui verrà applicato lo script ‘sed’.
studenti.txt
Esempio-4: Sostituire più righe di un file utilizzando il file di script `sed`
Creare un file sed chiamato per sostituire.,sed con il seguente contenuto per sostituire le righe multiple in base al modello di ricerca. Qui, la parola ‘ CSE ‘ verrà cercata nel file di testo e, se la corrispondenza esiste, cercherà nuovamente il numero 35 e 15. Se la seconda corrispondenza esiste nel file, verrà sostituita dal numero 45.
sostituisci.sed
p;n;
/35/ {
s/35/45/;
p;d;
}
/15/ {
s/15/55/;
p;d;
}
}
p;
Eseguire il seguente comando per controllare il contenuto del file. ‘CSE ‘ è apparso quattro volte nel file di testo., 35 e 15 esistono in due posti.
Il seguente comando sostituirà il contenuto delle righe multiple in base allo script sed.
Il seguente output apparirà dopo aver eseguito il comando.
Conclusione
Diversi modi per sostituire più righe o il contenuto delle righe multiple utilizzando il comando `sed` sono stati mostrati in questo tutorial., Come lo script ‘ sed ‘ può essere eseguito da un file sed è anche mostrato in questo tutorial. Spero che questo tutorial aiuterà il lettore a sostituire più righe di qualsiasi file utilizzando il comando `sed`.