Як додати розширення до всіх файлів через термінал


14

Я хотів би додати .zip розширення до всіх файлів. Я спробував це, однак це не працює:

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

Відповіді:


5

Пошук - кілька посилань:

  1. Рекурсивно додайте розширення файлу до всіх файлів - Переповнення стека
  2. Додайте розширення файлу до файлів з bash - Переповнення стека

перейменування людини:

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, виходячи з того, що я зміг це зробити так - ls | xargs -I% mv%% .zip
UAdapter


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

0

Для цього слід зробити фокус:

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

(Хоча я не маю уявлення, чому ти хотів би це зробити ...)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.