En primer lugar, se puede utilizar otro carácter que el s///
delimitador. El comando
sed 's:ABC:DEF:g'
es equivalente para
sed 's/ABC/DEF/g'
Hará su comando más fácil de leer, ya que no tendrá que escapar de la barra.
Dicho eso, algunos seds no son compatibles con el escape de caracteres como \t
. Me sucede mucho en Mac OS X, por ejemplo. Mi solución es pulsar Control + V y luego el carbón pestaña:
sed 's:/:<Control+V><TAB character>:g'
El resultado en mi máquina es:
$ pwd
/Users/brandizzi/sandbox/demo/mydemo
$ pwd | sed 's:/: :g'
Users brandizzi sandbox demo mydemo
Sin embargo, si su intención es poner todos los directorios de ruta en las variables awk $1
, etc. $2
simplemente declaran la barra a ser el separador de campo con la bandera awk -F
:
$ pwd
/Users/brandizzi/sandbox/demo/mydemo
$ pwd | awk -F/'{print $3 " " $5}'
brandizzi demo
Esto parece depender de la versión de 'sed'. Pruebe 'tr '/' '\ t'
Beta
No necesita reemplazar '/' con 'TAB' y alimentarlo a' awk'. 'awk' simplemente puede hacerlo solo. – ssapkota
Ahora que lo pienso, ¿qué tal 'cut -f5 -d '/'
Beta