Saya biasa mengganti nama file di Linux melalui perintah rename:
rename 's/old_pattern/new_pattern/g' *glob
Apakah ada yang serupa di Mac OS X (Snow Leopard)?
Saya biasa mengganti nama file di Linux melalui perintah rename:
rename 's/old_pattern/new_pattern/g' *glob
Apakah ada yang serupa di Mac OS X (Snow Leopard)?
Jawaban:
Dengan Homebrew , manajer paket untuk OS X:
brew install rename
Kemudian Anda dapat menjalankan rename
perintah yang sama seperti di Linux.
rename-5.22
(di mana 22 adalah versi yang diinstal) alih-alihrename
sudo mv /opt/local/bin/rename-XXX /opt/local/bin/rename
Gunakan kekuatan ZSH dengan bijak (ketik zsh
di terminal jika Anda adalah salah satu dari jiwa-jiwa miskin yang tidak menggunakannya secara default):
autoload zmv
zmv '(*).htm' '$1.html'
ZMV mengikuti sintaks MMV .
*user*.html
, ubah ekstensi menjadi .html
dan ubah semua kemunculan rc
ke final
: zmv '(*user*).htm' '${1//rc/final}.html'
@ghoppe: Saya pikir contoh zmv dalam kebutuhan jawaban Anda -w
atau tanda kurung di sekitar wildcard-nya.
*
alih-alih .*
mendapatkan semua. *?
tampaknya bekerja seperti orang yang tidak tamak .*?
. 2) untuk saya, ^
dan $
untuk memulai dan mengakhiri string sepertinya tidak cocok dengan apa pun
Kikuk saya:
for i in *.yourfiles; do mv "$i" "`echo $i | sed 's/old/new/g'`"; done
Dan jika Anda ingin menggunakannya seperti yang sering saya lakukan dengan cara ini:
rename 's/old/new/' *.files
Saya merekomendasikan untuk menggunakan skrip litte ini di ~ / bin / rename:
#!/usr/bin/env zsh
SUBSEXPR=$1
shift
for i in $@; do mv $i `echo "$i" | sed $SUBSEXPR`; done
Anda dapat mencoba menginstal MacPorts dan menginstal renameutils
paket:
renameutils @ 0.10.0 (sysutils)
renameutils adalah seperangkat program yang dirancang untuk membuat pengubahan nama file lebih cepat dan tidak rumit
qmv
Sepertinya itu berhasil.
qmv
adalah alat yang hebat, sementara sedikit terlalu banyak bekerja untuk penggantian nama regex sederhana, itu fantastis untuk penamaan cerdas dan memindahkan sejumlah besar file sewenang-wenang
Ada berbagai versi rename . Sepertinya Anda mencari yang berbasis Perl.
Satu versi utilitas ini dilengkapi dengan modul File :: Rename Perl. Anda dapat menginstalnya dengan sesuatu seperti sudo cpan -i File::Rename
.
Atau, Anda bisa pergi dengan mengganti nama dari paket perl Debian . Ini hanya satu file untuk diunduh. Letakkan di mana saja Anda suka dan chmod sehingga dapat dieksekusi.
Alternatifnya adalah alat zmv yang dilengkapi dengan zsh . Ini tidak memiliki sintaks yang sama, tetapi ia datang dengan OS Anda dan dapat dengan mudah menangani banyak kasus umum.
Pada Mac saya menggunakan Aristoteles Pagaltzis yang tersedia secara gratis rename
, yang seperti Debian berbasis Perl. Anda bisa mendapatkannya di sini . Atau kunjungi di sini untuk membacanya dulu - selalu ide yang bagus.
Anda perlu menempatkannya di suatu tempat di dalam Anda $PATH
dan membuatnya dapat dieksekusi ( chmod +x rename
) dan kemudian Anda siap melakukannya.
Ini seharusnya tidak sulit tetapi ternyata memang demikian. Contoh, saya ingin mengganti nama semua ekstensi file dari aiff ke aifc.
find . -iname "*.aiff" -exec bash -c 'mv "$0" "${0%\.aiff}.aifc"' {} \;
Jika Anda mencari GUI, coba Name Mangler . Ini memiliki fitur "pratinjau" yang menunjukkan apa yang akan terjadi jika Anda mengikuti penggantian nama.
Jika Anda suka multiseleksi Sublime Text, Anda bisa menggunakannya dengan qmv:
file qmv --editor = "/ usr / bin / s3 -w"
Saya hanya pergi ke depan dan menemukan favorit saya yang saya lihat disebut perl-rename memberikan rename
perintah di mana bantuan terlihat seperti ini:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
Begitulah cara saya tahu saya mendapatkan yang saya sukai.
Untuk Mac, bahkan di Homebrew mereka memiliki orang lain di mana saya samar-samar ingat mengalami masalah. Jadi bukan rename
paket, dan bukan renameutils
paket nongnu juga.
Dapatkan dari sini dan baru saja menginstal seperti yang mereka sebutkan: https://github.com/subogero/rename
rename
di Mac OS X: macosxhints.com/article.php?story=20050630022203488