sed - open - see bash_profile mac
.bash_profile sed: / 1 no definido en el RE (1)
Tengo que configurar un entorno de desarrollo web local en mi OS X 10.9 e instalé Homebrew. El siguiente paso en mi guía me dice que agregue lógica a mi ~/.bash_profile
con el siguiente comando:
echo "export PATH=/$(echo /$PATH | sed ''s|/usr/local/bin||; s|/usr/local/sbin||; s|::|:|; s|^:||; s|(.*)|/usr/local/bin:/usr/local/sbin:/1|'')" >> ~/.bash_profile && source ~/.bash_profile
Cuando lo ingreso en la terminal obtengo:
sed: 1: "s|/usr/local/bin||; s|/ ...": /1 not defined in the RE
¿Es export PATH=/usr/local/bin:/usr/local/sbin:$PATH
que debería escribirse en mi .bash_profile
? ¿Y por qué obtengo ese error?
Debería usar /(.*/)
lugar de (.*)
.
sed
utiliza Basic Regular Expressions (BRE) de forma predeterminada, que usa /(
y /)
para la captura de grupos, no solo (
y )
como se usa en Extended Regular Expressions (ERE). Como su expresión se usó (.*)
lugar de /(.*/)
, No se reconoce como una captura de grupo y, por lo tanto, no se captura nada para usar con /1
.
Algunas implementaciones sed
, como las provistas por GNU y BSD, sí tienen una extensión para especificar el uso de ERE, pero no está especificada por POSIX , y no puedes usarla si quieres ser portátil.