Il comando SED è un potente comando Linux che aiuta a svolgere attività generiche, ad esempio analizzare e trasformare il testo. Al giorno d'oggi, SED funziona su tutti i principali sistemi operativi.
La sintassi e una serie di utili funzioni di SED sono principalmente prese in prestito da ed editor. Il meccanismo stesso include flussi di input standard e file di testo. La sintassi basata su script di SED inizialmente sembra un po' difficile. Tuttavia, molte attività complesse possono essere risolte con poche righe di script SED.
Installazione SED
Nella distribuzione basata su Linux, SED è installato per impostazione predefinita. Ricorda, prima di iniziare, dovresti accedere al tuo VPS con SSH. Dai un'occhiata al nostro tutorial PuTTY se hai problemi. Il comando which può essere utilizzato per verificare se il sistema ha un SED o meno. Una Debian GNU/Linux può installare SED usando il gestore di pacchetti apt come segue:
[user]: ~$ sudo apt-get install sed
Per assicurarsi che il SED sia installato correttamente, viene utilizzato il seguente comando:
[user]: ~$ sed --version
Il comando restituisce il seguente output:
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jay Fenlason, Tom Lord, Ken Pizzini,
and Paolo Bonzini.
GNU sed home page: http://www.gnu.org/software/sed/.
General help using GNU software: http://www.gnu.org/gethelp/.
E-mail bug reports to: [email protected]
Flusso di lavoro SED
Il flusso di lavoro di base di SED è Leggi, Esegui e Visualizza, come indicato nella Figura 1 .
Il comando read prende il valore di input e lo memorizza in un buffer pattern . La parte di esecuzione esegue in sequenza il comando su un file. Dopo l'esecuzione, visualizza il flusso di output. Il pattern buffer è libero quando il contenuto viene visualizzato sull'interfaccia. Il processo di lettura, esecuzione e visualizzazione del comando si ripete fino alla fine del file.
Esempio SED
Per dirla semplicemente, SED legge un file e ne emette il testo. Per creare il file di testo, usa l'editor vi.
[user]: ~$ vi text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Il comando per leggere un file di testo è il seguente:
[user]: ~$ sed ‘’ text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Il comando prende l'input dal file “text.txt ”. Prima di caricare il file di input, scrivi un argomento della riga di comando tra virgolette singole. Questo "dice" alla riga di comando di eseguire SED.
SED legge il file di input “text.txt ” e memorizza i dati in un pattern buffer. Dopodiché, l'operazione può essere eseguita.
In questo caso, passiamo un argomento vuoto in modo che non venga eseguita alcuna operazione. SED visualizza i dati memorizzati come output standard e svuota il suo pattern buffer.
[user]: ~$ sed ‘’Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Il comando SED '' prende input dalla tastiera. Viene visualizzato sulla prima e sulla seconda riga. Visualizza i dati memorizzati nel pattern buffer. Per chiudere la sessione SED usa CTRL+D input da tastiera.
Comandi di base
Impariamo gli usi di base del comando SED di Linux:
Elimina comando
Per eseguire il comando di eliminazione, utilizza d insieme a un file tra virgolette. Il comando cancellerà la prima riga nel file text.txt
[user]: ~$ sed ‘1d’ text.txt
Comando di scrittura :per eseguire il comando di scrittura, scrivi w , il numero di riga e il file tra virgolette. Il comando seguente legge la seconda riga e la scrive nel text2.txt file.
[user]: ~$ sed '2~2 w text2.txt' text.txt [user]: ~$ cat text2.txt Harold Abelson, Structure and Interpretation of Computer Programs
Aggiungi comando
Usa la parola chiave e un numero di riga tra virgolette. Dopo aver chiuso le virgolette, fornire la fonte allegata. Il comando seguente viene aggiunto dopo la seconda riga nel file text.txt.
[user]: ~$ sed '2 a The Append example' text.txt[user]: ~$ cat text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsThe Append example'
Leggi comando
Usa r e digita il percorso del file tra virgolette. Il comando seguente leggerà l'input da un file di testo e lo aggiungerà dopo la terza riga nel text2.txt file.
[user]: ~$ sed '3 r text.txt' text2.txt [user]: ~$ cat text2.txt Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs The Append example' Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Conclusione
In questo tutorial, hai appreso l'installazione di SED e le operazioni di base. L'utilità SED consente all'utente di utilizzare la riga di comando in diversi modi.
Aiuta a risolvere problemi complessi in modo efficiente. Non solo SED, GNU-Linux fornisce molte utili utilità per eseguire attività quotidiane.