Terminal aracılığıyla tüm dosyalara uzantı nasıl eklenir


14

Tüm dosyalara .zip uzantısını eklemek istiyorum. Bunu denedim, ancak çalışmıyor:

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

Yanıtlar:


5

Arama - birkaç bağlantı:

  1. Tüm dosyalara özyinelemeli olarak dosya uzantısı ekleme - Stack Overflow
  2. Bash içeren dosyalara dosya uzantısı ekleme - Stack Overflow

adam yeniden adlandır:

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...

adam wiki: http://en.wikipedia.org/wiki/Man_page


1
thx, dayalı olarak bunu başardı - ls | xargs -I% mv
%%


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

Bunun için kullanma xargs!


neden xargs kullanmıyorsunuz?
UAdapter

2
Şey - sadece bir sebebi yok!
Adobe

4

Bunu yapmanın çok basit bir yolu:

mevcut uzantıyı korumak istiyorsanız:

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

mevcut uzantıyı değiştirmek istiyorsanız:

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

0

Bu hile yapmalı:

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

(Bunu neden yapmak isteyeceğiniz konusunda hiçbir fikrim olmamasına rağmen ...)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.