mv
Bir şeyi yapmak ve iyi yapmak için tasarlanmış temel bir komut satırıdır (Unix felsefesi): dosyaları veya dizinleri taşıyın .
Hedef dizgiyi anında değiştirmek için hack STDOUT& can yapabilirsiniz STDIN, ancak bu sadece akıllı bir hack değildir
yeniden adlandır (Perl's one)
Bunu yapabilen veya yapamayan aynı ada sahip başka araçlar da vardır, bu yüzden dikkatli olun.
İnsanlar hakkında konuştuğunda rename, bunu düşünüyoruz ELF, daha az güçlü (sihir?) Değil .
Temel değil, Perl. Bazı Perl işlevlerini içeri aktarabilirsiniz ve son derece güçlüdür.
Bu örneği düşünün:
Gibi bir grup dosyayı yeniden adlandırmak istiyorsunuz
foobar_1.txt
foobar_2.txt
foobar_3.txt
Bu şekilde rakamlara sıfırlar ekleyebilirsiniz sprintf()(regex, heh, Perl: D kullanarak):
rename 's/(\d+)/sprintf("%04d", $1)/e' foobar_*.txt
Şimdi:
foobar_0001.txt
foobar_0002.txt
foobar_0003.txt
Gerçekten basit bir komut değil, değil mi?
rename gerçekten dizin (ler) i taşımak için tasarlanmamıştır , ancak bunu yapabilir:
$ mkdir -p /tmp/foo/bar/base
$ touch /tmp/foo/bar/base/file
$ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file
Taşınan dosya
/tmp/file
Websites *.stackexchange.*web sitelerinde gördüğümüz bazı kodlar

for FILE in `ls *.txt`
do
mv ${FILE} `echo ${FILE} | sed 's/anything_ugly/anything_still_ugly/'`
done
Bu doğru yolun neden doğru anda kullanıldığını açıklamak için gitmenin yolu değil, düz bir hata.
type -a renameverename --version?