Как добавить расширение ко всем файлам через терминал

14

Я хотел бы добавить расширение .zip ко всем файлам. Я попробовал это, однако это не работает:

ls | awk '{print $1 " " $1".zip"}' | xargs mv -f
UAdapter
источник

Ответы:

5

Поиск - несколько ссылок:

  1. Рекурсивно добавить расширение файла для всех файлов - переполнение стека
  2. Добавить расширение к файлам с помощью bash - Stack Overflow

переименуй человека:

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
источник
1
THX, основываясь на том, что я смог сделать это так - ls | xargs -I% mv
%%
15
rename 's/$/\.zip/' *

Не используйте xargsдля этого!

саман
источник
почему не используете xargs?
UAdapter
2
Ну, просто нет причин!
Adobe
4

Очень простой способ сделать это:

если вы хотите сохранить текущее расширение:

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

если вы хотите заменить текущее расширение:

for i in *; do mv $i ${i%.*}.zip; done
DMX
источник
0

Это должно сделать трюк:

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

(Хотя я понятия не имею, почему вы хотели бы сделать это ...)

xubuntix
источник