Jutilise oh my zsh. Je ne peux pas utiliser certaines commandes que je pourrais faire sur ubuntu par exemple .. \ s dans les expressions régulières. Jai installé home-brew puis brew install gnu-sed --default-names
mais je ne parviens toujours pas à utiliser la commande sed. Ma variable $ PATH est un peu foirée et je ne sais pas comment la corriger.
/Users/ishansrivastava/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin:/opt/X11/bin:/Library/TeX/texbin
Que dois-je faire pour pouvoir utiliser toutes les commandes gnu sans tracas sur mon Mac? Veuillez également me donner la liste des commandes sur lesquelles je dois utiliser la commande gnu au lieu de la commande par défaut pour par exemple gsed
au lieu de sed
etc.
Commentaires
- Connexes: stackoverflow.com/questions/30003570 / …
Réponse
Comme mentionné dans une autre question , si vous installez GNU sed
en utilisant Homebrew avec --with-default-names
, puis il est installé en tant que /usr/local/bin/sed
.
Sans --with-default-names
, il sera installé en tant que /usr/local/bin/gsed
.
Sil est installé en tant que sed
, cela dépend de votre $PATH
quoi
Le binaire est récupéré lorsque vous exécutez sed
. Si votre $PATH
est comme vous lavez décrit, alors GNU sed
doit avoir la priorité sur le macOS natif sed
.
Notez que le shell peut avoir déjà mis en cache lemplacement de la commande sed
si vous avez déjà utilisé la commande sur la ligne de commande dans le même session shell. Vous pouvez ensuite utiliser rehash
dans zsh
pour vider ce cache, ou ouvrir un nouveau terminal.
Lorsquun système fournit une implémentation native sed
qui nest pas GNU sed
, alors il est souvent préférable dinstaller GNU sed
as gsed
pour ne pas casser les scripts existants en se basant sur un comportement spécifique au sed
natif. Cest pourquoi le comportement par défaut avec Homebrew sur macOS est dinstaller GNU sed
en tant que gsed
. Cest aussi la manière par défaut de nommer GNU sed
(et les outils GNU en général) sur dautres systèmes BSD.
Commentaires
- Je lai résolu. Apparemment, il a été installé dans
usr/local/Cellar/gnu-sed/4.4/bin
. Jai ajouté au chemin. Jaurais quand même aimé utiliser gsed au lieu de changer ce que mon sed actuel a fait. - @IshanSrivastava Je ' m aucun utilisateur Homebrew, mais je ne serais pas ' t installer sans
--with-default-names
vous permet dutiliser GNU Sed commegsed
? - Je lai installé avec les noms par défaut. je te comprends enfin. Désolé pour le dérangement. mais pourquoi a-t-il été installé dans un chemin aussi difficile que le mien?
- @IshanSrivastava Quelques informations ici: rkulla.blogspot.se/2014/03/the -path-to-homebrew.html