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

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 como gsed?
  • 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *