GNU/Linux >> Belajar Linux >  >> Linux

Salin semua pola pencocokan file dari dir dan subdir ke dalam satu dir

Coba:

find src/ -type f | grep -i so$ | xargs -i cp {} dst

Jika Anda menggunakan Bash, Anda dapat mengaktifkan globstar opsi shell untuk mencocokkan file dan direktori secara rekursif:

shopt -s globstar
cp src/**/*.so dst

Jika Anda perlu menemukan file yang namanya dimulai dengan . , dan/atau file di dalam dan di bawah direktori yang namanya dimulai dengan . , atur dotglob opsi juga (mis., dengan shopt -s dotglob ). Anda dapat mengatur keduanya dalam satu perintah:

shopt -s globstar dotglob

Saya mencoba perintah yang disarankan oleh Mike:

find src/ -type f | grep -i so$ | xargs -i cp {} dst

tetapi berakhir dengan membuang semua file ke direktori dst dengan jalur relatif mereka hilang.

Untuk mempertahankan jalur relatif, perintah perlu dimodifikasi menjadi ini:

find src/ -type f | grep -i so$ | xargs -i cp {} dst/{}

Linux
  1. Cara Menemukan dan Menyalin Jenis File Tertentu Dari Satu Direktori Ke Direktori Lain Di Linux

  2. Script / Perintah Untuk Mendapatkan Ips Dari Daftar Nama Host Dan Menggabungkannya Menjadi Satu File?

  3. Pelajari cara menyalin file dan folder dari/ke server lain

  1. Salin file dengan SCP dan Rsync

  2. Temukan dan salin file

  3. Bagaimana saya bisa secara rekursif menemukan semua file saat ini dan subfolder berdasarkan pencocokan wildcard?

  1. Bagaimana cara memindahkan (dan menimpa) semua file dari satu direktori ke direktori lain?

  2. Bagaimana cara menyalin file dari dockerfile ke host?

  3. Hapus file yang cocok di semua subdirektori