Sur Yosemite. Le sed est vieux: ne comprend pas \t
par exemple. J'ai installé coreutils
et ne trouve aucun sed
associé à celui-ci.
Quelles sont mes options ici?
echo -e 'foo\tbar' | sed -E 's/\t/blah/'
rendements foo bar
sur Mavericks 10.9.5.
Sur Yosemite. Le sed est vieux: ne comprend pas \t
par exemple. J'ai installé coreutils
et ne trouve aucun sed
associé à celui-ci.
Quelles sont mes options ici?
echo -e 'foo\tbar' | sed -E 's/\t/blah/'
rendements foo bar
sur Mavericks 10.9.5.
Réponses:
Vous devez installer gnu-sed
, pas seulement les coreutils:
brew install gnu-sed
Ensuite, vous devez ajouter les lignes suivantes sur votre .bash_profile
:
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
export MANPATH="/usr/local/opt/gnu-sed/libexec/gnuman:$MANPATH"
Votre sed
version devrait alors être la dernière:
$ 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
déclarations. Just brew install gnu-sed
and it will be available asgsed
PATH
instructions vous permettent d'utiliser la commande sed
au lieu de gsed
. Ce n'est pas nécessaire, mais vous n'aurez pas besoin de vous rappeler d'ajouter la lettre g
à votre sed
commande.
sed
à être BSD sed. Je ne sais pas si c'est un problème, mais je m'attendrais à ce que ce soit. (si osx alors bsdismes)
alias sed=gsed
dans un profil, peut-être?
Installez fink . Vous aurez également besoin de XCode si vous ne l'avez pas déjà.
Ensuite, installez le dernier sed (et beaucoup d'autres choses utiles) comme ceci:
fink install sed
-E
option, il devrait accepter\t
. Voir lare_format
page de manuel pour plus de détails.