GNU/Linux >> Belajar Linux >  >> Linux

Cara mem-pipe hasil 'find' ke mv di Linux

xargs umumnya digunakan untuk ini, dan mv di Linux memiliki -t opsi untuk memfasilitasi itu.

find ./ -name '*article*' | xargs mv -t ../backup

Jika find Anda mendukung -exec ... \+ Anda juga bisa melakukannya

find ./ -name '*article*' -exec mv -t ../backup {}  \+

-t opsi adalah ekstensi GNU, jadi tidak portabel untuk sistem yang tidak memiliki GNU coreutils (meskipun setiap Linux yang tepat yang pernah saya lihat memilikinya, dengan kemungkinan pengecualian Busybox). Untuk portabilitas POSIX lengkap, tentu saja mungkin untuk memutar pengganti Anda sendiri, mungkin seperti

find ./ -name '*article*' -exec sh -c 'mv "[email protected]" "$0"' ../backup {} \+

di mana kami tanpa malu-malu menyalahgunakan fakta nyaman bahwa argumen pertama setelah sh -c 'commands' berakhir sebagai parameter "nama skrip" di $0 sehingga kita bahkan tidak perlu shift itu.

Mungkin lihat juga https://mywiki.wooledge.org/BashFAQ/020


find ./ -name '*article*' -exec mv {}  ../backup  \;

ATAU

find ./ -name '*article*' | xargs -I '{}' mv {} ../backup

Linux
  1. Cara Menemukan File Terlama Di Pohon Direktori Di Linux

  2. Linux:Bagaimana Menemukan Driver Perangkat yang Digunakan Untuk Perangkat?

  3. Cara Menggunakan Perintah find Linux untuk Menemukan File

  1. Cara Mengetahui Apakah Disk Adalah SSD Atau HDD Di Linux

  2. Bagaimana menemukan semua file yang jarang di Linux

  3. Apakah mungkin untuk menyalurkan hasil FIND ke perintah COPY CP?

  1. Cara menemukan file di Linux

  2. Cara menemukan ukuran buffer soket linux

  3. Cara menemukan alamat IP gateway di Linux