2010-11-03 8 views
22

Je veux prendre le chemin du répertoire local et mettre chaque répertoire sur le chemin dans une ligne différente. J'ai essayé de le faire en utilisant coupe:couper une chaîne en plusieurs lignes dans bash

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

mais il ne change pas le «/» s en fin de vie, mais met n de la place. Qu'est-ce que je fais de mal?

Répondre

36

Cela devrait faire l'affaire

pwd | tr '/' '\n' 

Si vous ne voulez pas une ligne vide au début (en raison de la / initiale), vous pouvez faire

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

Exemple:

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

Vous pouvez essayer:

pwd | tr '/' '\n' 
4

Voici comment vous accomplir ce que vous apprêtez à faire (en utilisant la norme ANSI-C citant):

pwd | cut -f 1- -d\/ --output-delimiter=$'\n' 
Questions connexes