7 votes

Lister et renommer les fichiers qui commencent par un tiret/hyphène (-)

J'ai plus de 100 fichiers qui commencent par un tiret ( - ). J'ai besoin de savoir comment faire deux choses :

-20200622_142237.jpg (Les extensions de fichier varient, mais elles comportent toutes un tiret au début).

  1. Comment lister ( ls ) qui commencent par ce tiret ? Bash semble penser que j'essaie d'utiliser un autre paramètre. J'ai essayé d'utiliser des guillemets simples, des guillemets doubles et des - devant. Rien ne semble fonctionner.

  2. Comment puis-je renommer tous ces fichiers en même temps ? L'objectif est de les renommer sans le tiret au début.

NOTE : Je ne veux pas changer le trait de soulignement ( _ ). Je veux juste enlever le tableau de bord ( - ) au début du fichier.

Enfin, j'ai déjà essayé ceci solution possible posté précédemment, mais cela ne fonctionne pas.

11voto

steeldriver Points 118154

Vous pouvez généralement utiliser -- pour indiquer la fin des options de la commande. Ainsi :

  1. ls -- -*

  2. (avec l'application perl rename commande) rename -n 's/^-//' -- -*

Retirer le -n une fois que vous êtes heureux qu'il fasse la bonne chose.

Voir aussi :

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