2010-07-26 22 views
8

entweder aus zwei Zeichen ersetzen würde ich ein sed Befehl wie den folgenden zu erreichen:sed - mit einem Befehl

$ sed s'/:/ /g' <and> sed s'/=/ /g' 

Das heißt, ich möchte beide =

sed s'/<something>/ /g' 

und haben schreiben und : durch das Leerzeichen ersetzt.

Antwort

21
sed s'/[:=]/ /g' 

Klammern bedeuten "jeder von".

8

Eine Option ist auch, sed -e, wie folgt zu verwenden. Obwohl Sie es in diesem Fall nicht brauchen, ist es jedoch eine gute Option, darüber zu wissen.

sed -e 's/:/ /' -e 's/..../ /' file 
3

Sanjay's Antwort löst es. Eine weitere Option, die mit nur einem sed-Befehl funktioniert, ist jede s Substitution mit einem Semikolon in einem Skript

sed 's/:/ /g ; s/=/ /g' file 

oder in getrennten Leitungen zu trennen

sed 's/:/ /g 
    s/=/ /g' file 

Diese können in anderen Situationen nützlich sein.