Extraire le dernier répertoire d'une sortie PWD
Question
Comment puis-je extraire le dernier répertoire d'une sortie PWD? Je ne veux pas utiliser les connaissances de combien de niveaux il y a dans la structure de répertoire. Si je voulais utiliser, je pouvais faire quelque chose comme:
> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project
Mais je veux utiliser une commande qui fonctionne, peu importe où je suis dans la structure de répertoire. Je suppose qu'il ya une commande simple de le faire en utilisant awk ou sed.
La solution
Vous cherchez ou basename dirname ?
Quelque chose comme
basename "`pwd`"
devrait être ce que vous voulez savoir.
Si vous insistez sur l'utilisation sed
, vous pouvez également utiliser
pwd | sed 's#.*/##'
Autres conseils
Si vous voulez le faire complètement dans un script bash sans exécuter les fichiers binaires externes, ${PWD##*/}
devrait fonctionner.
Si le travail pour vous:
pwd | rev | cut -f1 -d'/' - | rev
Référence: https://stackoverflow.com/a/31728689/663058
Utilisation awk:
pwd | awk -F/ '{print $NF}'