Qualcuno potrebbe spiegare questo comando per me:comando "sed" in bash
cat | sed -e 's,%,$,g' | sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
Cosa fa il comando "sed" fare?
Qualcuno potrebbe spiegare questo comando per me:comando "sed" in bash
cat | sed -e 's,%,$,g' | sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
Cosa fa il comando "sed" fare?
sed
è il Stream EDitor. Può fare una pila intera di really cool things, ma il più comune è la sostituzione del testo.
La parte s,%,$,g
della riga di comando è il comando sed
da eseguire. Il s
rappresenta il sostituto, i caratteri ,
sono delimitatori (è possibile utilizzare altri caratteri: /
, :
e @
sono popolari). Lo %
corrisponde al modello (qui un segno di percentuale letterale) e lo $
corrisponde al secondo modello da abbinare (qui un segno di dollaro letterale). Lo g
alla fine equivale a sostituire g
su ogni riga (altrimenti aggiornerebbe solo la prima corrispondenza).
Per qualche ragione sed sta sostituendo tutte le linee per me, non solo il primo quando tralascio il 'g' alla fine. per esempio. 'sudo sed -i ', abilitato = 0, abilitato = 1,'/etc/yum.repos.d/epel.repo' in un'immagine AWS di Amazon con versione 4.2.1 – Programster
sed verrà sempre eseguita su ogni riga. L'opzione 'g' fa sostituire ogni partita su quella linea invece della prima partita su quella linea. –
Si legge Hello World
(cat
), sostituisce tutti (g
) occorrenze di %
da $
e (più) lo scrive /etc/init.d/dropbox
come root.
Qui sed
sostituisce tutte le occorrenze di %
con $
nel suo input standard.
Come esempio
$ echo 'foo%bar%' | sed -e 's,%,$,g'
produrrà "foo $ bar $".
sed è un editor di flusso. Direi che prova l'uomo sed.If non avete trovato questa pagina di manuale nel vostro sistema si riferisce questo URL:
+1 per la pagina di manuale. –
sed è l'abbreviazione di "editor di flusso" - modifica flussi di byte/caratteri. –
Potresti averlo chiesto come commento alla mia risposta, sarei stato lieto di espanderlo. – Benoit