2010-11-03 19 views
22

Quiero tomar la ruta del directorio local y poner cada directorio en la ruta en una línea diferente. He tratado de hacerlo mediante corte:cortando una cadena en varias líneas en bash

pwd | cut -f 1- -d\/ --output-delimiter=\n

pero no cambia el s '/' en EOL, pero pone n del lugar. ¿Qué estoy haciendo mal?

Respuesta

36

Esto debería hacer el truco

pwd | tr '/' '\n' 

Si no desea que una línea vacía en el principio (debido a la inicial /) que podría hacer

pwd | cut -b2- | tr '/' '\n' 

Ejemplo:

#[email protected]:~/tmp/files$ pwd 
/home/aioobe/tmp/files 
#[email protected]:~/tmp/files$ pwd | cut -b2- | tr '/' '\n' 
home 
aioobe 
tmp 
files 
6

Puede intentarlo:

pwd | tr '/' '\n' 
4

Esto es cómo se lograr lo que se propuso hacer (usando ANSI-C citando):

pwd | cut -f 1- -d\/ --output-delimiter=$'\n' 
Cuestiones relacionadas