GNU/Linux >> Tutoriels Linux >  >> Linux

Commande de nom de base sous Linux

basename est un utilitaire de ligne de commande qui supprime le répertoire et le suffixe de fin des noms de fichiers donnés.

Utilisation du basename Commande #

Le basename La commande prend en charge deux formats de syntaxe :

basename NAME [SUFFIX]
basename OPTION... NAME...

basename prend un nom de fichier et imprime le dernier composant du nom de fichier. En option, il peut également supprimer tout suffixe de fin. C'est une commande simple qui n'accepte que quelques options.

L'exemple le plus simple consiste à imprimer le nom du fichier avec les répertoires principaux supprimés :

basename /etc/passwd

La sortie inclura le nom du fichier :

passwd

Le basename la commande supprime tout / de fin caractères :

basename /usr/local/basename /usr/local

Les deux commandes produiront le même résultat :

local
local

Par défaut, chaque ligne de sortie se termine par un caractère de saut de ligne. Pour terminer les lignes avec NUL , utilisez le -z (--zero ).

Plusieurs entrées #

Le basename La commande peut accepter plusieurs noms comme arguments. Pour ce faire, invoquez la commande avec le -a (--multiple ) suivi de la liste des fichiers séparés par un espace.

Par exemple, pour obtenir les noms de fichiers de /etc/passwd et /etc/shadow vous exécuteriez :

basename -a /etc/passwd /etc/shadow
passwd
shadow

Supprimer un suffixe de fin #

Pour supprimer tout suffixe de fin du nom de fichier, transmettez le suffixe comme second argument :

basename /etc/hostname name
host

Généralement, cette fonctionnalité est utilisée pour supprimer les extensions de fichiers :

basename /etc/sysctl.conf .conf
sysctl

Une autre façon de supprimer un suffixe de fin consiste à spécifier le suffixe avec le -s (--suffix=SUFFIX ) :

basename -s .conf /etc/sysctl.conf
sysctl

Cette forme de syntaxe vous permet de supprimer tout suffixe de fin de plusieurs noms :

basename -a -s .conf /etc/sysctl.conf /etc/sudo.conf
sysctl
sudo

Exemple #

L'exemple suivant montre comment utiliser le basename commande dans un bash for looppour renommer tous les fichiers envoyant avec ".jpeg" dans le répertoire courant en remplaçant l'extension de fichier de ".jpeg" par ".jpg":

for file in *.jpeg; do
    mv -- "$file" "$(basename $file .jpeg).jpg"
done

Si vous utilisez bash comme shell, au lieu d'appeler basename , vous pouvez supprimer l'extension de fin à l'aide de Shell Parameter Expansion.

Conclusion #

Le basename La commande supprime tout répertoire de début et suffixe de fin du nom.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Commande Linux ifconfig

  2. Commande Linux mv

  3. Linux du command

  4. Commande IP Linux

  5. Commande cd Linux

Commande gratuite sous Linux

Commande Sudo sous Linux

Localiser la commande sous Linux

Commande W sous Linux

À la commande sous Linux

Commande Df sous Linux