GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de la commande Linux Dirname dans les scripts Bash

La commande dirname sous Linux imprime un chemin de fichier avec son composant final supprimé. Cela vous donne essentiellement le chemin du répertoire à partir du chemin du fichier.

Ceci est particulièrement utile dans les scripts bash où vous souhaitez extraire le chemin du répertoire à partir du chemin du fichier long.

La commande dirname est complémentaire de la commande basename. La commande basename extrait le nom du fichier du chemin tandis que dirname extrait le chemin du répertoire.

Laissez-moi vous le montrer avec quelques exemples.

Exemples de commandes Dirname

La commande dirname a une syntaxe simple.

dirname OPTION PATH

L'utilisation de la commande dirname avec le chemin absolu d'un fichier donnera le chemin du répertoire :

dirname /home/user/data/filename.txt
/home/user/data

Comme la commande basename, la commande dirname est aussi stupide en fait. Il ne reconnaît pas vraiment le chemin du fichier. Il recherche simplement les barres obliques (/) et imprime ce qui se trouve avant la dernière barre oblique. Fondamentalement, vous pouvez lui donner n'importe quelle chaîne avec / et cela fonctionnera dessus.

Par exemple, j'utilise ici une chaîne aléatoire sans nom de fichier. Vous pouvez voir qu'il fonctionne toujours de la même manière et génère une chaîne supprimant le dernier / et le texte qui le suit.

Si le chemin ne contient pas de barre oblique (/), il affichera un point (.) impliquant le répertoire actuel.

Vous pouvez également utiliser dirname avec plusieurs chemins. Il renverra la sortie pour chaque chemin dans une nouvelle ligne :

Vous pouvez utiliser l'option -z pour obtenir le résultat dans la même ligne avec des sorties séparées par le caractère NULL.

Utilisation de dirname dans le script bash

J'ai montré quelques exemples de la commande dirname. Parlons de l'utilisation de dirname dans les scripts bash.

Supposons que vous ayez une variable de chemin de fichier et que vous souhaitiez obtenir le chemin d'accès au répertoire contenant le fichier. Il peut s'agir d'un simple script :

pathname="/home/dir/data/filename"

result=$(dirname "$pathname")

echo $result

Comme je l'ai mentionné précédemment, la commande dirname est complétée par la commande basename. Contrairement à dirname, la commande basename imprime uniquement le dernier composant du chemin.

J'espère que ce tutoriel vous a plu. Comme toujours, n'hésitez pas à poser des questions ou à faire des suggestions dans la section des commentaires.

Vous avez aimé l'article ? S'il vous plaît partagez-le et aidez-nous à grandir :)


Linux
  1. Comment effacer l'historique de Bash sous Linux

  2. Commande introuvable dans Bash corrigé

  3. Déplacer un dossier sous Linux à l'aide de la commande mv

  4. Comment afficher le chemin actuel dans l'invite de commande dans le sh (pas bash) de Linux ?

  5. commande linux trouvée mais introuvable lors de l'utilisation de sudo

Commande d'historique sous Linux (historique de bash)

Comment utiliser la commande echo dans les scripts Bash sous Linux

Tutoriel sur l'utilisation de la commande Timeout sous Linux

Planifier des travaux sous Linux avec la commande 'at'

Utilisation de la commande Watch sous Linux

Utilisation de cut sur Linux Terminal