mengganti nama direktori berdasarkan suatu pola

Saat ini saya mencoba mengganti nama semua direktori yang berisi 123 menjadi 321.
Misalnya, jika saya memiliki direktori bernama test123test, saya ingin mengganti namanya menjadi test321test.

Sejauh ini, saya memiliki sesuatu yang terlihat seperti:
find . -depth -name *123* -exec mv {} di situlah saya mengalami masalah\;
Karena saya tidak' Saya tidak tahu bagaimana saya bisa mengganti nama folder berdasarkan nama aslinya.

Jika Anda punya ide tentang cara melanjutkan, silakan berkontribusi.


person BenFradet    schedule 27.03.2013    source sumber


Jawaban (1)


Coba dengan perulangan for:

for dir in `find . -type d -depth X -name '*123*'` ; do
    mv "$dir" "${dir/123/321}"
done

Catatan: Anda perlu mengedit X di atas. Dan mungkin gagal jika ada jalur seperti './dir123/dir123/'

person Zsolt Botykai    schedule 27.03.2013
comment
Terima kasih banyak, ini berhasil setelah saya menghapus predikat kedalaman. - person BenFradet; 27.03.2013