Articles

50 `sed` Command Examples

Posted by admin

`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.

version sed version version

Il seguente output mostra che GNU Sed della versione 4.4 è installato nel sistema.,

Sintassi:

sed s

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

  • Troncare tutte le righe di 80 caratteri
  • Cercare una stringa regex e aggiungere del testo standard dopo
  • Cercare una stringa regex e una seconda copia di trovare la stringa dopo
  • Esecuzione multi-linea `sed` script da un file
  • la Corrispondenza di una linea di multi-pattern e sostituirla con una nuova di testo multi-linea
  • Sostituire ordine di due parole che corrispondono a un modello
  • Utilizzare più sed i comandi da riga di comando
  • Combina sed con altri comandi
  • Inserire una riga vuota in un file
  • Elimina tutti i caratteri alfa-numerici, da ogni riga di un file.,
  • Utilizzare ‘&’ per la corrispondenza della stringa
  • Interruttore paio di parole
  • Maiuscolo il primo carattere di ogni parola
  • Stampa i numeri di riga del file
  • 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’.,

    echo echo “Bash Scripting Language”/sed ‘s/Bash/ 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

    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday

    Il seguente comando cercherà e sostituirà il testo ‘Domenica ‘, con il testo ‘Domenica è festa’.

    cat gatto giorno della settimana.txt
    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.

    python cat python.txt
    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.

    $ sed ‘s/Python/perl / g2’ 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.

    $ sed ‘ s / \(.* \ ) Programmazione / \1Scripting / ‘ lang.,txt

    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.

    python cat python.txt
    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.

    python cat python.txt
    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.

    echo echo / home/ubuntu/code/perl/add.pl /sed ‘s;/;\\/; g’

    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:

    CSE – Count
    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’.

    dep cat dept.txt
    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.

    dep cat dept.txt
    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’.,

    echo echo “Bash language”/sed ‘s/\(Bash\)/ Learn \1 programming /’

    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

    Windows
    Linux
    Android
    OS

    Il seguente comando `sed` cancellerà quelle righe dal sistema operativo.file txt che contiene il testo, ‘OS’.

    cat cat os.txt
    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.

    $ sed ‘/Linux/,+2d’ os.txt

    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.,

    cat cat 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 ingresso cat.txt
    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 ingresso cat.,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.

    $ tab=$’\t’
    $ 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.

    cat cat os.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.

    input ingresso cat.txt
    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.

    cat cat os.txt
    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.

    cat cat os.txt
    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.

    python cat python.txt
    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

    1001 => Jafar Ali
    1023 => Nir Hossain
    1067 => John Michel

    Creare un file di testo denominato list2.txt e aggiungere il seguente contenuto.

    list elenco cat2.txt

    1001 CSE GPA-3.,63
    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 cat1.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.

    $ sed-z ‘s/\n/,/g’ os.txt

    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.

    echo echo “Kaniz Fatema,30th,batch”/sed “s/,/\n/g”

    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.

    cat cat os.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’.

    echo echo “Mi piace la programmazione bash” /sed ‘s/Bash/PHP/i’

    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.

    cat cat os.txt
    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.

    cat cat os.txt
    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’.

    cat cat os.txt
    $ 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

    HDD 100
    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.

    items elementi cat.,txt
    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.,

    echo echo “5098673 | / sed-e :a-e’ s / \(.*\)\(\{3\}\)/\1,\2/;ta `

    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.

    echo echo-e “1\t2\t3″/sed Output’s/\t //g’

    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).,

    echo echo-e “1 2″/ sed Output’s //\t/g’

    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.

    cat cat in.txt
    $ 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.,

    echo echo ” ciao, come stai?”/sed ‘s/\(hello\)/\1 John /’

    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’.

    input ingresso cat.txt
    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/PHP/ASP/
    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.

    cat cat sedcmd
    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.

    os cat os.txt
    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.

    echo echo “perl python” | sed-e ‘ s/\(*\) *\(*\)/\2 \1/’

    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’.

    echo echo “Ubuntu Centos Debian”/sed-e ‘s/Ubuntu/ Kubuntu/; s/Centos/ 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’.

    os cat os.,txt/sed’ s/ Linux| Fedora/’/sed’ s/windows/Windows 10/i ‘

    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

    #ID #Name
    -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.,

    Output cat 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 cat 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.,

    $ sed-n ‘s/^L/La stringa corrispondente è – & / p’ os.txt

    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

    PHP ASP
    MySQL Oracle
    CodeIgniter Laravel

    Il seguente comando cambierà la coppia di parole in ogni riga del file, naturalmente.txt.

    $ sed ‘ s/\(*\) *\(*\)/\2 \1/’ certo.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.

    echo echo ” Mi piace la programmazione bash | / sed ‘s/\(\)\(*\)/\u \ 1 \ 2/g’

    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.

    $ sed ‘=’ os.txt

    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’.

    Leave A Comment