Estoy usando oh my zsh. No puedo usar algunos comandos que podría hacer en ubuntu, por ejemplo, \ s en expresiones regulares. Instalé home-brew y luego brew install gnu-sed --default-names
pero aún no puedo usar el comando sed. Mi variable $ PATH está un poco desordenada y no estoy seguro de cómo corregirla.
/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
¿Qué debo hacer para poder usar todos los comandos gnu? ¿Sin problemas en mi Mac? También por favor, dame la lista de comandos en los que tengo que usar el comando gnu en lugar del predeterminado, por ejemplo, gsed
en lugar de sed
etc.
Comentarios
- Relacionados: stackoverflow.com/questions/30003570 / …
Responder
Como se mencionó en otra pregunta , si instala GNU sed
usando Homebrew con --with-default-names
, luego se instala como /usr/local/bin/sed
.
Sin --with-default-names
, se instalará como /usr/local/bin/gsed
.
Si se instala como sed
, entonces depende de su $PATH
qué sed
El binario se detecta cuando ejecuta sed
. Si su $PATH
es como lo ha descrito, entonces GNU sed
debería tener prioridad sobre el macOS nativo sed
.
Tenga en cuenta que el shell puede haber almacenado en caché la ubicación del comando sed
si ya ha utilizado el comando en la línea de comando en el mismo sesión de shell. Luego puede usar rehash
en zsh
para borrar ese caché o abrir una nueva terminal.
Cuando un sistema proporciona una implementación nativa sed
que no es GNU sed
, entonces a menudo es mejor instalar GNU sed
como gsed
para no romper los scripts existentes basándose en un comportamiento específico del sed
nativo. Es por eso que el comportamiento predeterminado con Homebrew en macOS es instalar GNU sed
como gsed
. Esta es también la forma predeterminada de nombrar GNU sed
(y las herramientas GNU en general) en otros sistemas BSD.
Comentarios
- lo resolví. Aparentemente se instaló en
usr/local/Cellar/gnu-sed/4.4/bin
. Agregué al camino. Aún así, me hubiera gustado usar gsed en lugar de cambiar lo que hizo mi sed real. - @IshanSrivastava I ' no soy usuario de Homebrew, pero no ' t ¿instalar sin
--with-default-names
le permite usar GNU Sed comogsed
? - Lo instalé con nombres predeterminados. finalmente te entiendo. lo siento por la molestia. pero ¿por qué se instaló en una ruta tan incómoda como la mía?
- @IshanSrivastava Algo de información aquí: rkulla.blogspot.se/2014/03/the -ruta-a-homebrew.html