Auf Yosemite. Der sed ist alt: versteht \t
zum Beispiel nicht. Ich habe installiert coreutils
und kann keine sed
zugehörigen finden.
Welche Möglichkeiten habe ich hier?
Sie müssen installieren gnu-sed
, nicht nur die Coreutils:
brew install gnu-sed
Dann müssen Sie die folgenden Zeilen zu Ihrem hinzufügen .bash_profile
:
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/gnu-sed/libexec/gnuman:$MANPATH"
Dann sed
sollte Ihre Version die neueste sein:
$ sed --version
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: <bug-sed@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
PATH
Aussagen nicht. Just brew install gnu-sed
und es wird als verfügbar seingsed
PATH
Anweisungen können Sie den Befehl sed
anstelle von verwenden gsed
. Es ist nicht notwendig, aber Sie müssen nicht daran denken, den Buchstaben g
an Ihren sed
Befehl anzuhängen.sed
, BSD-sed zu sein. Ich weiß nicht, ob das ein Problem ist, aber ich würde es erwarten. (wenn osx dann bsdisms)alias sed=gsed
in einem Profil vielleicht?Ihre Frage ist getaggt homebrew
, aber für Leser, die MacPorts verwenden: Run sudo port install gsed
to get GNU sed (verfügbar mit dem gsed
Befehl, ähnlich wie gfind
im findutils
Port).
Fink installieren . Sie benötigen auch XCode, falls Sie es noch nicht haben.
Installieren Sie dann das neueste sed (und viele andere nützliche Dinge) wie folgt:
fink install sed
nwellnhof
-E
Option ausführen, sollte es\t
. Einzelheiten finden Sie auf derre_format
Manpage.Wille
echo -e 'foo\tbar' | sed -E 's/\t/blah/'
Renditenfoo bar
auf Mavericks 10.9.5.