Astuces.divers : [Terminal] Renommer des fichiers avec des chemins à rallonges
Posté par ginkyo (page perso, ) le 16 août 2004
En bon fainéant avec cervelle, je n'aime pas taper des lignes pour rien.
Vous êtes dans un répertoire différent de celui dans lequel vous souhaitez copier/renommer un fichier dans ce même répertoire.
exemple :
solution :
Sinon vous pouvez toujours utiliser les pushd et popd ("empileur" de variables) ou cd - (pour aller dans le répertoire précédent) ou cd !$ pour récupérer le dernier paramètre de la commande précédente ; m'enfin à vous de voir.
Vous êtes dans un répertoire différent de celui dans lequel vous souhaitez copier/renommer un fichier dans ce même répertoire.
exemple :
:~/Zik %mv /var/arch/dossieravecunchemin_achement_long/ikl_core.c \
/usr/src/dossieravecunchemin_achement_long/ikl_core_vx.c
solution :
mv /usr/src/dossieravecunchemin_achement_long/ikl_cor{e,e_vx}.c
Sinon vous pouvez toujours utiliser les pushd et popd ("empileur" de variables) ou cd - (pour aller dans le répertoire précédent) ou cd !$ pour récupérer le dernier paramètre de la commande précédente ; m'enfin à vous de voir.
> Lire le message (11 commentaires, moyenne: 1).
Vous avez demandé le commentaire #483185.



Permet aussi
certes, de rajouter une extension, mais aussi d en retirer une
renommer tous les fichiers commencant par "f" en rajoutant ".save"
mv f*{,save}
retirer le .save de tous ces fichiers:
mv f*{.save,}
Ce qui permet d economiser un for i in "f*" avec un basename dedans. et c est encore plus court que la commande rename.
J'aime la liberté.
J'aime BSD.
[^]Re: Permet aussi
Chez moi, ton truc ne marche pas:
mv: when moving multiple files, last argument must be a directory
je ne sais pas si on peut vraiment s'en sortir sans un "for i" et un "basename"
[^]Re: Permet aussi
il a oublié la virgule c'est pour ca, je renote la version qui marche :
mv plop{.mp3,} #plop.mp3 devient plop
mv plop{,.mp3} #plop redevient plop.mp3
le python, c'est bon
[^]Re: Permet aussi
Ce que je dis, c'est qu'on ne peut pas combiner cette notation avec le joker *
Toi, tu n'as qu'un seul fichier, alors pas de problème...
[^]Re: Permet aussi
ouaip,
mef : pas d'espace dans les {} !
NB : cette substitution, permet aussi les multi-remplacements :
wget http://site.bien.connu/images_dir/photos_jolies_(...){0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}.jpg
ça télécharge les 99 images d'image_dir !
Dîtes-moi que vous êtes pas super contents de ça !? ;) lol
NB : j'ai pas trouvé pour faire avec des expressions régulières pour un truc du type : [:digit:], ou [0-9] !?...
Si vous avez une idée !...
"Et le singe devint con...", Cavanna
"L'absolu n'est pas accessible à l'esprit humain", Einstein
Le c.. entre 2 chaises !