Comment ajouter une extension à tous les fichiers via un terminal


14

Je voudrais ajouter l'extension .zip à tous les fichiers. J'ai essayé cela, mais cela ne fonctionne pas:

ls | awk '{print $1 " " $1".zip"}' | xargs mv -f

Réponses:


5

Recherche - quelques liens:

  1. Ajouter récursivement une extension de fichier à tous les fichiers - Stack Overflow
  2. Ajouter une extension de fichier aux fichiers avec bash - Stack Overflow

l'homme renomme:

NAME
       rename - renames multiple files

SYNOPSIS
       rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

DESCRIPTION
       "rename" renames the filenames supplied according to the rule specified as 
       the first argument.  The perlexpr argument is a Perl expression which is 
       expected to modify the $_ string in Perl for at least some of the filenames 
       specified. If a given filename is not modified by the expression, it will not 
       be renamed.  If no filenames are given on the command line, filenames will be 
       read via standard input...

man wiki: http://en.wikipedia.org/wiki/Man_page


1
thx, sur la base de ce que j'ai pu faire comme ça - ls | xargs -I% mv
%%


15
rename 's/$/\.zip/' *

Ne l'utilisez pas xargspour ça!


pourquoi ne pas utiliser xargs?
UAdapter

2
Eh bien, il n'y a aucune raison!
Adobe

4

Un moyen très simple de le faire est:

si vous souhaitez conserver l'extension actuelle:

for i in *; do mv $i ${i}.zip; done     

si vous souhaitez remplacer l'extension actuelle:

for i in *; do mv $i ${i%.*}.zip; done

0

Cela devrait faire l'affaire:

mmv "./*" "./#1.zip"

(Bien que je ne sache pas pourquoi vous voudriez faire ça ...)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.