38 votes

couper une ficelle en plusieurs lignes en bash

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 Cut :

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

mais cela ne change pas les '/' en EOL, mais met n '' à la place. Qu'est-ce que je fais de mal ?

59voto

aioobe Points 158466

Cela devrait faire l'affaire

pwd | tr '/' '\n'

Si vous ne voulez pas d'une ligne vide au début (en raison du / initial), vous pouvez faire

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

Exemple :

#aioobe@r60:~/tmp/files$ pwd
/home/aioobe/tmp/files
#aioobe@r60:~/tmp/files$ pwd | cut -b2- | tr '/' '\n'
home
aioobe
tmp
files

9voto

codaddict Points 154968

Vous pouvez essayer :

pwd | tr '/' '\n'

6voto

Dennis Williamson Points 105818

C'est ainsi que vous réaliseriez ce que vous aviez prévu de faire (en utilisant la citation ANSI-C) :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X