Bagaimana cara menambahkan ekstensi ke semua file melalui terminal

14

Saya ingin menambahkan ekstensi .zip ke semua file. Saya mencoba ini, tetapi tidak berhasil:

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

Jawaban:

5

Pencarian - beberapa tautan:

  1. Tambahkan ekstensi file secara rekursif ke semua file - Stack Overflow
  2. Tambahkan ekstensi file ke file dengan bash - Stack Overflow

man rename:

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

pengguna26687
sumber
1
thx, berdasarkan itu saya bisa melakukannya seperti ini - ls | xargs -I% mv%% .zip
UAdapter
19
for f in * ; do 
  mv "$f" "$f.zip"
done
elmicha
sumber
15
rename 's/$/\.zip/' *

Jangan gunakan xargsuntuk itu!

Adobe
sumber
mengapa tidak menggunakan xargs?
UAdapter
2
Yah - tidak ada alasan!
Adobe
4

Cara yang sangat sederhana untuk melakukannya adalah:

jika Anda ingin mempertahankan ekstensi saat ini:

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

jika Anda ingin mengganti ekstensi saat ini:

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

Ini harus melakukan trik:

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

(Meskipun saya tidak tahu mengapa Anda ingin melakukan ini ...)

xubuntix
sumber