GNU/Linux >> Belajar Linux >  >> Linux

Temukan dan ganti nama direktori

Ini adalah kesalahan yang tidak berbahaya yang dapat Anda singkirkan dengan -depth opsi.

find . -depth -type d -name 'thefoldername*' -exec mv {} newfoldername \;

Perilaku normal Find adalah memproses direktori dan kemudian mengembalikannya. Karena Anda telah mengganti namanya, temukan keluhan ketika mencoba muncul kembali. -depth opsi memberi tahu find untuk mengulang terlebih dahulu, lalu memproses direktori setelahnya.


Tidak ada -execdir pilihan! Seperti yang dinyatakan dalam halaman manual find:

-execdir command {};

Seperti -exec , tetapi perintah yang ditentukan dijalankan dari subdirektori yang berisi file yang cocok, yang biasanya bukan direktori tempat Anda mulai menemukan.

find . -depth -type d -name 'thefoldername*' -execdir mv {} newfoldername \;


Dengan jawaban sebelumnya isi folder saya hilang.
Ini adalah solusi saya. Ini berfungsi dengan baik: for i in find -type d -name 'oldFolderName';dodirname=$(dirname "$i")mv $dirname/oldFolderName $dirname/newFolderNamedone


Linux
  1. Ganti Nama Semua File dan Nama Direktori menjadi Huruf Kecil di Linux

  2. Cara Mengganti Nama Direktori di Linux

  3. Ssh Dan Izin Direktori Rumah?

  1. Temukan Pola Dan Pindahkan?

  2. Ganti Nama File Di Direktori?

  3. Linux Temukan Dan Hapus Semua Symlinks Yang Berkaitan Dengan Direktori?

  1. Bagaimana Cara Menemukan Pemilik Dan Grup Direktori?

  2. Cara mengecualikan direktori di find . memerintah

  3. Temukan dan salin file