Come aggiungere un'estensione a tutti i file tramite terminale


14

Vorrei aggiungere l'estensione .zip a tutti i file. Ho provato questo, tuttavia non funziona:

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

Risposte:


5

Ricerca - alcuni collegamenti:

  1. Aggiungi in modo ricorsivo l'estensione del file a tutti i file - StackTranslate.it
  2. Aggiungi l'estensione ai file con bash - StackTranslate.it

man rinomina:

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
grazie a ciò sono stato in grado di farlo in questo modo - ls | xargs -I% mv
%%


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

Non usare xargsper quello!


perché non usare xargs?
UAdapter

2
Bene - non c'è proprio motivo!
Adobe,

4

Un modo molto semplice per farlo è:

se si desidera mantenere l'estensione corrente:

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

se si desidera sostituire l'estensione corrente:

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

0

Questo dovrebbe fare il trucco:

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

(Anche se non ho idea del motivo per cui vorresti farlo ...)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.