`sed` è un’utile funzione di elaborazione del testo di GNU/Linux. La forma completa di` sed ‘ è Stream Editor. Molti tipi di attività di elaborazione del testo semplice e complicato può essere fatto molto facilmente utilizzando il comando `sed`. Qualsiasi stringa particolare in un testo o un file può essere cercato, sostituito ed eliminato utilizzando l’espressione regolare con il comando `sed. Ma questo comando esegue temporaneamente tutti i tipi di modifica e il contenuto del file originale non viene modificato per impostazione predefinita. L’utente può memorizzare il contenuto modificato in un altro file, se necessario., Gli usi di base del comando ‘ sed ‘ sono spiegati in questo tutorial utilizzando 50 esempi unici.
Prima di iniziare questo tutorial è necessario controllare la versione installata di `sed` nel sistema operativo eseguendo il seguente comando. Il tutorial è stato progettato sulla base di GNU sed. Quindi questa versione di` sed ‘ sarà necessaria per praticare gli esempi mostrati in questo tutorial.
Il seguente output mostra che GNU Sed della versione 4.4 è installato nel sistema.,
Sintassi:
Se non viene fornito alcun nome di file con il comando `sed`, lo script funzionerà sui dati di input standard. Lo script ‘ sed ‘ può essere eseguito senza alcuna opzione.,cter
il testo Base per la sostituzione utilizzando ‘sed’
Qualsiasi parte particolare di un testo può essere cercato e sostituito mediante la ricerca e la sostituzione pattern utilizzando `sed` di comando. Nell’esempio seguente,’ s ‘ indica l’attività di ricerca e sostituzione. La parola ‘Bash ‘verrà cercata nel testo, “Bash Scripting Language” e se la parola esiste nel testo, verrà sostituita dalla parola’Perl’.,
Output:
La parola ‘Bash’ esiste nel testo. Quindi l’output è ‘Perl Scripting Language’.
il comando`sed` può essere usato anche per sostituire qualsiasi parte del contenuto di un file. Creare un file di testo denominato giorno della settimana.txt con il seguente contenuto.
giorno della settimana.,txt
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Il seguente comando cercherà e sostituirà il testo ‘Domenica ‘, con il testo ‘Domenica è festa’.
s sed ‘s/Domenica/Domenica è festa/’ giorno della settimana.txt
Output:
‘Domenica’ esiste nei giorni feriali.file txt e questa parola viene sostituita dal testo, ‘Domenica è festa’ dopo aver eseguito il comando sopra `sed’.,
Vai all’inizio
Sostituisci tutte le istanze di un testo in una particolare riga di un file usando l’opzione ‘g’
l’opzione‘g’ viene utilizzata nel comando `sed` per sostituire tutte le occorrenze di pattern corrispondenti. Creare un file di testo denominato python.txt con il seguente contenuto per conoscere l’uso dell’opzione’ g’. Questo file contiene la parola. ‘Python’ più volte.
python.txt
Python è un linguaggio molto popolare.
Python è facile da usare. Python è facile da imparare.,
Python è un linguaggio multipiattaforma
Il seguente comando sostituirà tutte le occorrenze di ‘Python’ nella seconda riga del file, python.txt. Qui, ‘Python’ si verifica due volte nella seconda riga.
s sed’ 2 s/Python/perl / g ‘ python.txt
Output:
Il seguente output apparirà dopo aver eseguito lo script. Qui, tutte le occorrenze di’ Python ‘nella seconda riga sono sostituite da’Perl’.,
Vai all’inizio
Sostituisci solo la seconda occorrenza di una corrispondenza su ogni riga
Se una parola appare più volte in un file, la particolare occorrenza della parola in ogni riga può essere sostituita usando il comando `sed` con il numero di occorrenza. Il seguente comando` sed ‘ sostituirà la seconda occorrenza del pattern di ricerca in ogni riga del file, python.txt.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente., Qui, il testo di ricerca, ‘Python’ appare due volte solo nella seconda riga e viene sostituito dal testo,‘Perl’.
Vai all’inizio
Sostituisci solo l’ultima occorrenza di una corrispondenza su ogni riga
Crea un file di testo chiamato lang.txt con il seguente contenuto.
lang.txt
Linguaggio di programmazione Bash. Linguaggio di programmazione Python. Linguaggio di programmazione Perl.
Hypertext Markup Language.
Linguaggio di markup estensibile.
Vai all’inizio
Sostituisci la prima corrispondenza in un file con un nuovo testo
Il seguente comando sostituirà solo la prima corrispondenza del pattern di ricerca, ‘Python‘ con il testo, ‘perl‘. Qui ‘ ‘ 1 ‘ viene utilizzato per abbinare la prima occorrenza del modello.
s sed’ 1 s/Python/ perl / ‘ python.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. Qui. la prima occorrenza di ‘Python’ nella prima riga è sostituita da ‘perl’.,
Vai all’inizio
Sostituisci l’ultima corrispondenza in un file con un nuovo testo
Il seguente comando sostituirà l’ultima occorrenza del pattern di ricerca, ‘Python‘ con il testo, ‘Bash’. Qui, il simbolo ‘ $ ‘ viene utilizzato per abbinare l’ultima occorrenza del modello.
s sed-e ‘s s/Python/Bash/’ python.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.,
Vai all’inizio
Escape backslash nei comandi replace per gestire la ricerca e la sostituzione dei percorsi dei file
È necessario sfuggire alla backslash nel percorso del file per la ricerca e la sostituzione. Il seguente comando di` sed ‘ aggiungerà barra rovesciata (\) nel percorso del file.
Output:
Il percorso del file, ‘ / home/ubuntu/code/perl/add.pl ‘viene fornito come input nel comando’ sed ‘ e il seguente output apparirà dopo aver eseguito il comando precedente.,
Vai all’inizio
Sostituire tutti i file percorso completo con solo il nome del file nessuna directory
Il nome del file può essere recuperato dal percorso del file molto facilmente utilizzando il comando `basename`. il comando ‘ sed ‘ può anche essere usato per recuperare il nome del file dal percorso del file. Il seguente comando recupererà il nome del file solo dal percorso del file fornito dal comando `echo’.per maggiori informazioni, consulta la nostra informativa sulla privacy.txt ” / sed ‘s/.* \ / / / ‘
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente., Qui, il nome del file, ‘ myfile.txt ‘ viene stampato come output.
Vai all’inizio
Sostituisci il testo ma solo se nella stringa si trova un altro testo
Crea un file chiamato ‘dept.txt ‘ con il seguente contenuto per sostituire qualsiasi testo basato su altro testo.
dipartimentotxt
Elenco degli studenti totali:
EEE – Count
Civil – Count
Nel seguente comando `sed` vengono utilizzati due comandi di sostituzione., Qui, il testo, ‘Count’ sarà sostituito da 100 nella riga che contiene il testo, ‘CSE ‘e il testo,’ Count ‘sarà sostituito da 70 nella riga che contiene il modello di ricerca,’EEE’.
s sed-e’/ CSE/s/Count/ 100/;/ EEE/s/Count/ 70/; ‘ dept.txt
Output:
Il seguente output apparirà dopo l’esecuzione dei comandi precedenti.,
Vai all’inizio
Sostituisci il testo ma solo se qualche altro testo non viene trovato nella stringa
Il seguente comando `sed` sostituirà il valore ‘Count’ nella riga che non contiene il testo, ‘CSE’. dipartimento.il file txt contiene due righe che non contengono il testo, ‘CSE’. Quindi, il testo‘ Count ‘ sarà sostituito da 80 in due righe.
s sed-i-e ‘/CSE/! s / Count / 80/; ‘ dept.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.,
Vai all’inizio
Aggiungi stringa prima e dopo il modello corrispondente usando ‘\1’
La sequenza di modelli corrispondenti del comando `sed` è indicata da ‘\1’, ‘\2’ e così via. Il seguente comando ‘ sed ‘cercherà il modello,’ Bash ‘e se il modello corrisponde allora sarà accessibile da’ \1 ‘ nella parte di sostituzione del testo. Qui, il testo, ‘Bash’ viene cercato nel testo di input e, un testo viene aggiunto prima e un altro testo viene aggiunto dopo ‘\1’.,
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente. Qui, il testo “Learn” viene aggiunto prima di “Bash” e il testo “programming” viene aggiunto dopo “Bash”.
Vai all’inizio
Elimina le righe corrispondenti
l’opzione‘d’ viene utilizzata nel comando `sed` per eliminare qualsiasi riga dal file. Creare un file denominato os.txt e aggiungere il seguente contenuto per testare la funzione di ‘d’ opzione.
sistema operativo cat.,txt
Linux
Android
OS
Il seguente comando `sed` cancellerà quelle righe dal sistema operativo.file txt che contiene il testo, ‘OS’.
s sed’/OS / d ‘ os.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Elimina la riga corrispondente e 2 righe dopo la riga corrispondente
Il seguente comando cancellerà tre righe dal sistema operativo del file.txt se il modello, ‘Linux’ è trovato. operativo.,txt contiene il testo, ‘Linux’ nella seconda riga. Quindi, questa riga e le prossime due righe verranno eliminate.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Elimina tutti gli spazi alla fine della riga di testo
L’uso della classe può essere usato per rimuovere spazi e tabulazioni dal testo o dal contenuto di qualsiasi file. Il seguente comando rimuoverà gli spazi alla fine di ogni riga del file, os.txt.,
s sed ‘s/]* os//’ os.txt
Uscita:
sistema operativo.txt contiene righe vuote dopo ogni riga che vengono eliminate dal comando ” sed ” sopra.
Vai all’inizio
Elimina tutte le righe che hanno una corrispondenza due volte sulla riga
Crea un file di testo chiamato, input.txt con il seguente contenuto ed eliminare le righe del file che contiene il modello di ricerca due volte.
ingresso.txt
PHP è un linguaggio di scripting lato server.
PHP è un linguaggio open-source e PHP è case-sensitive.,
PHP è indipendente dalla piattaforma.
Il testo‘PHP ‘ contiene due volte nella seconda riga del file, input.txt. Due comandi ‘sed ‘sono usati in questo esempio per rimuovere quelle linee che contengono il modello‘ php’ due volte. Il primo comando ‘sed’ sostituirà la seconda occorrenza di ‘php‘ in ogni riga con `dl` e invierà l’output nel secondo comando ‘ sed ‘ come input. Il secondo comando` sed ‘cancellerà quelle righe che contengono il testo,‘dl’.
input sed’ s/php/dl / i2;t ‘ input.txt/sed ‘/dl/d’
Uscita:
ingresso.,il file txt ha due righe che contengono il modello, ‘ php ‘ due volte. Quindi, il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Elimina tutte le righe che hanno solo spazio bianco
Seleziona qualsiasi file che contiene righe vuote nel contenuto per testare questo esempio. input.il file txt creato nell’esempio precedente contiene due righe vuote che possono essere eliminate utilizzando il seguente comando ‘sed’. Qui, ‘^ $ ‘ è usato per trovare le righe vuote nel file, input.txt.
input sed ‘/^input/d’ ingresso.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Elimina tutti i caratteri non stampabili
I caratteri non stampabili possono essere eliminati da qualsiasi testo sostituendo i caratteri non stampabili con nessuno. classe viene utilizzata in questo esempio per scoprire i caratteri non stampabili. ‘\t `è un carattere non stampabile e non può essere analizzato direttamente dal comando` echo’. Per questo, il carattere ‘\ t ‘viene assegnato in una variabile, tab tab che viene utilizzata in un comando ‘echo’., L’output del comando ‘echo’ viene inviato nel comando ‘sed ‘che rimuoverà il carattere’ \t’ dall’output.
$ echo “Ciao$tabWorld”
$ echo “Ciao$tabWorld” | sed ‘s/]//g’
Uscita:
Il seguente output verrà visualizzato dopo aver eseguito i comandi di cui sopra. Il primo comando `echo stamperà l’output con lo spazio tabulazione e il comando` sed ‘ stamperà l’output dopo aver rimosso lo spazio tabulazione.,
Vai all’inizio
Se c’è una corrispondenza nella riga aggiungi qualcosa alla fine della riga
Il seguente comando aggiungerà ’10’ alla fine della riga che contiene il testo, ‘Windows’ nel sistema operativo.file txt.
os sed ‘/Windows/ s/$/ 10/’ os.txt
Output:
Il seguente output apparirà dopo aver eseguito il comando.,
Vai all’inizio
Se c’è una corrispondenza nella riga inserisci una riga prima del testo
Il seguente comando `sed` cercherà il testo, ‘PHP è indipendente dalla piattaforma’ nell’input.file txt che viene creato prima. Se il file contiene questo testo in qualsiasi riga allora, ‘PHP è un linguaggio interpretato’ verrà inserito prima di quella riga.
s sed ‘ / PHP è indipendente dalla piattaforma / s/^ / PHP è un linguaggio interpretato.\ n / ‘ ingresso.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Se c’è una corrispondenza nella riga inserisci una riga dopo quella riga
Il seguente comando `sed` cercherà il testo, ‘Linux’ nel file os.txt e se il testo esiste in qualsiasi riga, un nuovo testo, ‘Ubuntu’ verrà inserito dopo quella riga.
s sed ‘s / Linux / & \nUbuntu/’ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Se non c’è una corrispondenza aggiungi qualcosa alla fine della riga
Il seguente comando `sed` cercherà quelle righe nel sistema operativo.txt che non contiene il testo, ‘Linux’ e aggiungere il testo, ‘Sistema operativo’ alla fine di ogni riga. Qui, il simbolo ‘ $ ‘ viene utilizzato per identificare la riga in cui verrà aggiunto il nuovo testo.
s sed ‘ / Linux/! S/$ / Sistema operativo / ‘ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. Esistono tre righe nel sistema operativo del file.txt che non contiene il testo, ‘Linux’ e il nuovo testo aggiunto alla fine di queste righe.
Vai all’inizio
Se non c’è una corrispondenza elimina la riga
Crea un file chiamato web.txt e aggiungere il seguente contenuto ed eliminare le righe che non contengono il modello corrispondente. web.txt HTML 5JavaScriptCSSPHPMySQLJQuery Il seguente comando ‘sed ‘cercherà ed eliminerà quelle righe che non contengono il testo,’CSS’., web ragnatela di gatti.txt$ sed ‘ / CSS/!d ‘ web.Output txt: il seguente output apparirà dopo aver eseguito i comandi precedenti. Esiste una riga nel file che contiene il testo, ‘CSE’. Quindi, l’output contiene solo una riga.
Vai all’inizio
Duplica il testo abbinato dopo aver aggiunto uno spazio dopo il testo
Il seguente comando `sed` cercherà la parola, ‘a’ nel file, python.txt e se la parola esiste, la stessa parola verrà inserita dopo la parola di ricerca aggiungendo spazio., Qui,’& ‘ simbolo viene utilizzato per aggiungere il testo duplicato.
s sed-e ‘s/to /& a/g’ python.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi. Qui, la parola, ‘a’ viene cercata nel file, python.txt e questa parola esiste nella seconda riga di questo file. Quindi ‘ ‘ a ‘ con lo spazio viene aggiunto dopo il testo corrispondente.,
Vai all’inizio
Sostituisci una lista di stringhe con la nuova stringa
Devi creare due file di elenco per testare questo esempio. Creare un file di testo denominato list1.txt e aggiungere il seguente contenuto.
elenco cat1.txt
1023 => Nir Hossain
1067 => John Michel
Creare un file di testo denominato list2.txt e aggiungere il seguente contenuto.
list elenco cat2.txt
1002 CSE GPA-3.24
1023 CSE GPA-3.11
1067 CSE GPA-3.84
Il seguente comando `sed` corrisponderà alla prima colonna dei due file di testo mostrati sopra e sostituirà il testo corrispondente con il valore della terza colonna dell’elenco dei fili1.txt.
list elenco cat2.txt
list sed ‘ elenco cat1.txt / awk ‘{stampa ” – e s/”$1″/”$3″/”}”<<<“` elenco cat2.txt ‘”
Uscita:
1001, 1023 e 1067 di list1.il file txt corrisponde ai tre dati di list2.,file txt e questi valori sono sostituiti dai nomi corrispondenti della terza colonna di list1.txt.
Vai all’inizio
Sostituisci la stringa corrispondente con una stringa che contiene nuove righe
Il seguente comando prenderà input dal comando `echo` e cercherà la parola ‘Python’ nel testo. Se la parola esiste nel testo, verrà inserito un nuovo testo, “Testo aggiunto” con nuova riga. echo echo “Bash Perl Python Java PHP ASP” /sed’ s/ Python / Added Text\n / ‘ Output: Il seguente output apparirà dopo aver eseguito il comando precedente.,
Vai all’inizio
Rimuovi le nuove righe dal file e inserisci una virgola alla fine di ogni riga
Il seguente comando `sed` sostituirà ogni nuova riga con una virgola nel sistema operativo del file.txt. Qui, l’opzione-z viene utilizzata per separare la riga dal carattere NULL.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.,
Vai all’inizio
Rimuovi virgole e aggiungi nuova riga per dividere il testo in più righe
Il seguente comando `sed` prenderà come input la riga separata da virgole dal comando `echo` e sostituirà la virgola con nuova riga.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente. Il testo di input contiene tre dati separati da virgole che vengono sostituiti da nuova riga e stampati in tre righe.,
Vai all’inizio
Trova la corrispondenza senza distinzione tra maiuscole e minuscole e cancella la riga
‘I’ viene utilizzato nel comando `sed` per la corrispondenza senza distinzione tra maiuscole e minuscole che indica ignora il caso. Il seguente comando ‘sed ‘cercherà la riga che contiene la parola‘ linux’ ed eliminerà la riga dal sistema operativo.file txt.
os sed ‘/linux/Id’ sistema operativo.txt
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente. operativo.,txt contiene la parola, ‘Linux’ che corrisponde con il modello, ‘linux’ per la ricerca case-insensitive e cancellato.
Vai all’inizio
Trova la corrispondenza senza distinzione tra maiuscole e minuscole e sostituisci con un nuovo testo
Il seguente comando `sed` prenderà l’input dal comando `echo` e sostituirà la parola ‘bash’ con la parola ‘PHP’.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente., Qui, la parola, ‘Bash ‘abbinato con la parola,’ bash ‘per la ricerca case-insensitive e sostituito dalla parola,’PHP’.
Vai all’inizio
Trova corrispondenza senza maiuscole e sostituisci con tutte le maiuscole dello stesso testo
‘\U’ è usato in `sed` per convertire qualsiasi testo in tutte le lettere maiuscole. Il seguente comando ‘sed ‘cercherà la parola ‘linux’ nel sistema operativo.file txt e se la parola esiste, sostituirà la parola con tutte le lettere maiuscole.
os sed ‘s/\(linux\)/\U\1/Ig’ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. La parola, ‘Linux ‘ del sistema operativo.il file txt è sostituito dalla parola ‘LINUX’.
Vai all’inizio
Trova la corrispondenza senza distinzione tra maiuscole e minuscole e sostituisci con tutte le lettere minuscole dello stesso testo
‘\L’ è usato in `sed` per convertire qualsiasi testo in tutte le lettere minuscole. Il seguente comando ‘sed ‘cercherà la parola ‘Linux’ nel sistema operativo.txt e sostituire la parola con tutte le lettere minuscole.
s sed’ s/\(linux\)/\L \ 1 / Ig ‘ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. La parola, ‘Linux ‘ è sostituita dalla parola, ‘linux’ qui.
Vai all’inizio
Sostituisci tutti i caratteri maiuscoli del testo con caratteri minuscoli
Il seguente comando `sed` cercherà tutti i caratteri maiuscoli nel sistema operativo.txt e sostituire i caratteri con lettere minuscole utilizzando ‘\ L’.
$ sed ‘ s / \(.* \)/ \ L \ 1 / ‘ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
33. Cerca il numero nella riga e aggiungi qualsiasi simbolo di valuta prima che il numero
Crei un file denominato elementi.txt con il seguente contenuto.
elementi.txt
Monitor 80
Mouse 10
Il seguente comando `sed` cercherà il numero in ogni riga di elementi.txt e aggiungere il simbolo della valuta, ’ $ ‘ prima di ogni numero.
s sed ‘s/\(\)/$\1/g’ articoli.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. Qui, il simbolo ‘ $ ‘ viene aggiunto prima del numero di ogni riga.
Vai all’inizio
Aggiungi virgole a numeri che hanno più di 3 cifre
Il seguente comando `sed` prenderà un numero come input dal comando `echo` e aggiungerà virgola dopo ogni gruppo di tre cifre che contano da destra. Qui,‘: a ‘ indica l’etichetta e ‘ta’ viene utilizzato per iterare il processo di raggruppamento.,
Output:
Il numero 5098673 è dato nel comando` echo `e il comando` sed ‘ ha generato il numero 5,098,673 aggiungendo una virgola dopo ogni gruppo di tre cifre.
Vai all’inizio
Sostituisce il carattere di tabulazione con 4 caratteri di spazio
Il seguente comando `sed` sostituirà ogni carattere di tabulazione (\t) con quattro caratteri di spazio., Il simbolo ‘g `viene utilizzato nel comando` sed ‘per abbinare il carattere di tabulazione e’ g’ viene utilizzato per sostituire tutti i caratteri di tabulazione.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Sostituisce 4 caratteri di spazio consecutivi con il carattere tab
Il seguente comando sostituirà 4 caratteri consecutivi con il carattere tab (\t).,
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Tronca tutte le righe ai primi 80 caratteri
Crea un file di testo chiamato in.txt che contiene le righe più di 80 caratteri per testare questo esempio.
in.txt
PHP è un linguaggio di scripting lato server.
PHP è un linguaggio open-source e PHP è case-sensitive. PHP è indipendente dalla piattaforma.
Il seguente comando `sed` troncerà ogni riga di in.,file txt in 80 caratteri.
$ sed ‘ s / \(^.\{1,80\}\).* / \ 1 / ‘ in.txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. La seconda linea di in.il file txt contiene più di 80 caratteri e questa riga viene troncata nell’output.
Vai all’inizio
Cerca una regex di stringa e aggiungi del testo standard dopo di essa
Il seguente comando `sed` cercherà il testo, ‘hello‘ nel testo di input e aggiungerà il testo, ‘ John‘ dopo quel testo.,
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Cerca regex di stringa e aggiungi del testo dopo la seconda corrispondenza in ogni riga
Il seguente comando `sed` cercherà il testo, ‘PHP‘ in ogni riga di input.txt e sostituire la seconda corrispondenza in ogni riga con il testo, ‘Nuovo testo aggiunto’.
s sed’ s/\(PHP\)/ \ 1 (Nuovo testo aggiunto) / 2 ‘ input.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. Il testo di ricerca, ‘PHP’ appare per due volte nella seconda e terza riga di input.file txt. Quindi, il testo, “Nuovo testo aggiunto” viene inserito nella seconda e nella terza riga.
Vai all’inizio
Esecuzione di script `sed` su più righe da un file
È possibile memorizzare più script `sed` in un file e tutti gli script possono essere eseguiti insieme eseguendo il comando `sed`. Creare un file denominato ‘sedcmd’ e aggiungere il seguente contenuto., Qui, due script ‘ sed ‘ vengono aggiunti nel file. Uno script sostituirà il testo, ‘ PHP ‘ da ‘ ASP ‘un altro script sostituirà il testo, ‘ indipendente ‘dal testo,‘dipendente’.
sedcmd
s/independent/ dependent /
Il seguente comando `sed` sostituirà tutti i testi ‘PHP’ e ‘independent’ con ‘ASP’ e ‘dependent’. Qui, l’opzione ‘- f ‘viene utilizzata nel comando’ sed `per eseguire lo script` sed ‘ dal file.
input sed-f ingresso sedcmd.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Abbina un pattern multilinea e sostituiscilo con un nuovo testo multilinea
Il seguente comando `sed` cercherà il testo multilinea, ‘Linux\nAndroid’ e se il pattern corrisponde, le righe corrispondenti saranno sostituite dal testo multilinea, ‘Ubuntu\nAndroid Lollipop‘. Qui, P e D sono usati per l’elaborazione multilinea.
s sed’!!N; s / Linux \ nAndoid / Ubuntu\nAndoid Lollipop/; P; D’ os.,txt
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Sostituisci l’ordine di due parole in un testo che corrisponde a un modello
Il seguente comando `sed` prenderà l’input di due parole dal comando `echo` e sostituirà l’ordine di queste parole.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.,
Vai all’inizio
Esegui più comandi `sed` dalla riga di comando
l’opzione‘-e’ viene utilizzata nel comando `sed` per eseguire più script `sed` dalla riga di comando. Il seguente comando` sed ‘prenderà un testo come input dal comando’ echo ‘e sostituirà‘ Ubuntu ‘con‘ Kubuntu ‘e‘ Centos ‘con‘Fedora’.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente., Qui, ‘Ubuntu’ e ‘Centos ‘sono sostituiti da’ Kubuntu ‘e’Fedora’.
Vai all’inizio
Combina `sed` con altri comandi
Il seguente comando combinerà il comando `sed` con il comando `cat`. Il primo comando ‘ sed ‘ prenderà input dal sistema operativo.txt e inviare l’output del comando al secondo comando ‘ sed ‘dopo aver sostituito il testo ”Linux’ con ‘Fedora’. Il secondo comando` sed ‘sostituirà il testo ‘Windows’ con ‘Windows 10’.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Inserisci una riga vuota in un file
Crea un file chiamato stdlist con il seguente contenuto.
stdlist
-Ali
-Neha
L’opzione‘G’ viene utilizzata per inserire una riga vuota in un file. Il seguente comando` sed ‘ inserirà righe vuote dopo ogni riga del file stdlist.,
G sed G stdlist
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti. Una riga vuota viene inserita dopo ogni riga del file.
Vai all’inizio
Sostituisci tutti i caratteri alfanumerici con lo spazio in ogni riga di un file.
Il seguente comando sostituirà tutti i caratteri alfanumerici con lo spazio nel file stdlist.,
Output sed ‘s///g’ stdlist
Output:
Il seguente output apparirà dopo aver eseguito i comandi precedenti.
Vai all’inizio
Usa ‘&’ per stampare la stringa corrispondente
Il seguente comando cercherà la parola che inizia con ‘L’ e sostituirà il testo aggiungendo ‘Matched String is –‘ con la parola corrispondente usando ‘ & ’ simbolo. Qui ‘ ‘ p ‘ viene utilizzato per stampare il testo modificato.,
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente.
Vai all’inizio
Cambia coppia di parole in un file
Crea un file di testo denominato corso.txt con il seguente contenuto che contiene la coppia di parole in ogni riga.
corso.,txt
MySQL Oracle
CodeIgniter Laravel
Il seguente comando cambierà la coppia di parole in ogni riga del file, naturalmente.txt.
Output:
Il seguente output apparirà dopo aver cambiato la coppia di parole in ogni riga.,
Vai all’inizio
In maiuscolo il primo carattere di ogni parola
Il seguente comando `sed` prenderà il testo di input dal comando `echo` e convertirà il primo carattere di ogni parola in una lettera maiuscola.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente. Il testo di input, “Mi piace la programmazione bash” viene stampato come “Mi piace la programmazione Bash” dopo aver capitalizzato la prima parola.,
Vai all’inizio
Stampa i numeri di riga del file
‘=’ simbolo viene utilizzato il comando `sed` per stampare il numero di riga prima di ogni riga di un file. Il seguente comando stamperà il contenuto del sistema operativo.file txt con numero di riga.
Output:
Il seguente output apparirà dopo aver eseguito il comando precedente. Ci sono quattro linee nel sistema operativo.file txt. Quindi, il numero di riga viene stampato prima di ogni riga del file.,
Vai all’inizio
Conclusione:
Diversi usi del comando `sed` sono spiegati in questo tutorial usando esempi molto semplici. L’output di tutti gli script` sed ‘ menzionati qui sono generati temporaneamente e il contenuto del file originale è rimasto invariato. Ma se vuoi puoi modificare il file originale usando l’opzione –i o –in-place del comando `sed. Se sei un nuovo utente Linux e vuoi imparare gli usi di base del comando `sed` per eseguire vari tipi di attività di manipolazione delle stringhe, allora questo tutorial ti aiuterà., Dopo aver letto questo tutorial, spero, qualsiasi utente otterrà il concetto chiaro sulle funzioni del comando ‘sed’.