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
UAdapter
la source

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

user26687
la source
1
thx, sur la base de ce que j'ai pu faire comme ça - ls | xargs -I% mv
%%
19
for f in * ; do 
  mv "$f" "$f.zip"
done
elmicha
la source
15
rename 's/$/\.zip/' *

Ne l'utilisez pas xargspour ça!

Adobe
la source
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
dmx
la source
0

Cela devrait faire l'affaire:

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

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

xubuntix
la source