Saya memiliki banyak file sebagai berikut:
04602635_b0294.DAT20120807164534
04602637_b0297.DAT20120807164713
04602638_b0296.DAT20120807164637
04602639_b0299.DAT20120807164819
04602640_b0298.DAT20120807164748
04602641_b0300.DAT20120807164849
04602650_b0301.DAT20120807164921
04602652_b0302.DAT20120807164956
Saya perlu mengganti nama mereka untuk mengecualikan awalan. Perlu terlihat seperti ini ..
b0294.DAT20120807164534
b0297.DAT20120807164713
b0296.DAT20120807164637
b0299.DAT20120807164819
b0298.DAT20120807164748
b0300.DAT20120807164849
b0301.DAT20120807164921
b0302.DAT20120807164956
EDIT
Saya lupa menambahkan bahwa saya menggunakan Solaris.
"${file#*_}"
?echo
, hanya pipa output skrip kebash
.Anda dapat menggunakan alat
rename
untuk ini:Jika Anda menambahkannya
-n
tidak akan mengubah nama apa pun dan hanya menunjukkan kepada Anda apa yang akan dilakukan tanpa-n
.Menanggapi komentar terburu-buru:
rename
sebenarnya saya adalah tautan untukprename
dikirim dengan paket Debian dan Ubuntuperl
.sumber
rename
tidak selalu sama pada sistem yang berbeda dan terkadang sintaksanya mungkin berbeda.perl-rename
sama sekali tidak khusus untuk Debian. Hanya saja tidak dipanggilrename
tetapiperl-rename
atauprename
di distribusi lain. Itu harus selalu dalam repo dan satu diinstal dengan perl juga.rename
dan kemungkinan akan dipasang tanpa secara eksplisit meminta paket yang tidak disebut adilrename
, khusus untuk Debian. Distribusi Linux lainnya memanggil perintahprename
atauperl-rename
untuk menghindari kebingungan dengan util-linuxrename
dan jangan membundelnya dengan paket perl, dan saya tidak mengetahui adanya unix non-Linux yang mengirimkannya dengan namarename
atau mengirimkannya dalam instalasi default dengan nama apa pun.