Jak dodać rozszerzenie do wszystkich plików przez terminal

14

Chciałbym dodać rozszerzenie .zip do wszystkich plików. Próbowałem tego, jednak to nie działa:

ls | awk '{print $1 " " $1".zip"}' | xargs mv -f
UAdapter
źródło

Odpowiedzi:

5

Wyszukiwanie - kilka linków:

  1. Rekurencyjnie dodaj rozszerzenie pliku do wszystkich plików - Przepełnienie stosu
  2. Dodaj rozszerzenie pliku do plików z bash - Stack Overflow

zmiana nazwy człowieka:

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

użytkownik26687
źródło
1
dzięki, mogłem to zrobić w ten sposób - ls | xargs -I% mv
%%
19
for f in * ; do 
  mv "$f" "$f.zip"
done
Elmicha
źródło
15
rename 's/$/\.zip/' *

Nie używaj xargsdo tego!

Cegła suszona na słońcu
źródło
dlaczego nie używać xargs?
UAdapter
2
Cóż - po prostu nie ma powodu!
Adobe,
4

Bardzo prosty sposób to zrobić:

jeśli chcesz zachować aktualne rozszerzenie:

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

jeśli chcesz zastąpić bieżące rozszerzenie:

for i in *; do mv $i ${i%.*}.zip; done
dmx
źródło
0

To powinno załatwić sprawę:

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

(Chociaż nie mam pojęcia, dlaczego chcesz to zrobić ...)

xubuntix
źródło