GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir le nom de fichier à partir du chemin complet sous Linux

Le chemin complet d'un fichier sous Linux fait référence à l'adresse complète, y compris les répertoires et sous-répertoires à l'aide desquels le fichier peut être localisé. Chaque système d'exploitation a différentes variantes du chemin complet d'un fichier.

Sous Linux, cela ressemble à ceci :

/home/user/Documents/test.txt

Il s'agit du chemin d'accès complet au fichier test.txt .

Lorsque vous traitez manuellement un chemin de fichier, il est facile d'obtenir le nom du fichier, mais si vous utilisez un script pour une sorte d'automatisation, vous devrez peut-être extraire le nom du fichier dans certains scénarios.

Voyons comment extraire le nom de fichier du chemin complet sous Linux.

Utilisation de la commande Basename

Le but de la commande basename est de récupérer le nom de fichier à partir d'un chemin de fichier. Bien qu'il ne soit pas trop difficile d'obtenir le nom de fichier à partir d'un chemin complet, basename le fait automatiquement pour vous et vous n'avez pas à vous soucier d'analyser le chemin du fichier, etc.

La syntaxe est :

$ basename full_file_path
$ basename /var/log/syslog   [example command]

Utilisez le -a un argument pour passer plusieurs chemins.

$ basename -a /var/log/syslog /var/log/dpkg.log

Utilisation de la substitution de paramètres bash

Substitutions de paramètres bash sont un moyen de modifier une variable à la volée. Par conséquent, pour utiliser cette méthode, nous devons stocker le chemin du fichier dans une variable.

$ fullpath="/var/log/syslog"

Nous allons maintenant appliquer la substitution de paramètre et stocker la valeur dans une autre variable.

$ filename=${fullpath##*/}
$ echo $filename

Fondamentalement, ce que cela fait est que :il détruit la partie avant le dernier ‘/’ dans 'chemin complet ' et conserve simplement le reste de la chaîne, qui n'est rien d'autre que le nom du fichier.

Conclusion

Dans cet article, nous avons découvert deux façons d'obtenir un nom de fichier à partir d'un chemin de fichier complet sous Linux. Si vous souhaitez en savoir plus sur la commande basename et paramètre substitutions dans Bash, assurez-vous de parcourir leurs pages de manuel respectives avec :

$ man basename
$ man bash

Merci d'avoir lu et faites-nous part de vos réflexions et questions ci-dessous !


Linux
  1. Comment obtenir le chemin complet d'un fichier ?

  2. Comment trouver le chemin complet du programme Linux C++ de l'intérieur ?

  3. comment obtenir le chemin relatif du répertoire actuel dans tomcat à partir de l'environnement linux en utilisant java

  4. Comment obtenir le nom d'hôte de l'IP (Linux) ?

  5. Comment obtenir l'URL du fichier Dropbox à partir de la ligne de commande ?

Comment utiliser la commande md5sum sous Linux

Comment obtenir la taille d'un répertoire sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment obtenir uniquement le nombre de lignes d'un fichier

Comment puis-je obtenir la longueur d'un fichier vidéo à partir de la console ?

Comment extraire le nom de fichier sans l'extension d'un chemin complet ?