3 votes

renommer un fichier et le supprimer du dernier

Qu'est-ce que la "ligne de commande" "pour supprimer un certain caractère à la fin d'une nom du fichier . Par exemple, subash.jpg.jpg. Je veux supprimer " .jpg "J'ai eu des problèmes pour "renommer les fichiers".

5voto

pa4080 Points 27038

rename est la commande parfaite pour renommer des fichiers :) Elle dispose d'un large éventail d'options que mv et peut également fonctionner avec des expressions régulières. Dans votre cas, la syntaxe suivante doit faire l'affaire :

rename 's/\.jpg\.jpg$/.jpg/' *.jpg.jpg

Explication :

  • l'expression s/searched/replace/ signifie s ubstitution le searched avec l'expression replace chaîne.
  • \.jpg\.jpg$ correspondra à toute ligne qui se termine par $ con .jpg.jpg où les barres obliques inverses permettent d'échapper à la signification spéciale du point dans la regex.
  • *.jpg.jpg sera développé par le Shell comme une liste de tous les fichiers qui se termine par .jpg.jpg dans le répertoire actuel.

Si la commande n'existe pas sur votre système, vous devez l'installer :

sudo apt update && sudo apt install rename

2voto

steeldriver Points 118154

Si le nom du fichier est contenue dans une variable Shell, vous pouvez supprimer la sous-chaîne correspondante la plus courte à la fin en utilisant la méthode suivante ${var%sub} ex.

$ f=subash.jpg.jpg

$ echo "${f%.jpg}"
subash.jpg

Ainsi, par exemple

mv "$f" "${f%.jpg}"

Vous pouvez également utiliser un joker comme ${f%.*} pour supprimer un suffixe de point arbitraire.

1voto

afosbenner Points 96

Utilice mv pour renommer un fichier. Si le fichier se trouve dans votre répertoire de travail actuel, la commande sera la suivante :

mv ./subash.jpg.jpg ./subash.jpg

Essayez man mv pour la documentation sur cette commande.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X