GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Mengintegrasikan Perintah Mv Setelah Menemukan Perintah?

Saya mencari file yang namanya mengandung AAA dalam jalur mereka menggunakan perintah berikut:

find path_A -name "*AAA*"

Mengingat output yang ditunjukkan oleh perintah di atas, saya ingin memindahkan file-file itu ke jalur lain, katakan path_B . Daripada memindahkan file tersebut satu per satu, dapatkah saya mengoptimalkan perintah dengan memindahkan file tersebut tepat setelah perintah find?

Jawaban yang Diterima:

Dengan GNU mv:

find path_A -name '*AAA*' -exec mv -t path_B {} +

Itu akan menggunakan -exec find opsi yang menggantikan {} dengan masing-masing menemukan hasil secara bergantian dan menjalankan perintah yang Anda berikan. Seperti yang dijelaskan dalam man find :

   -exec command ;
          Execute  command;  true  if 0 status is returned.  All following
          arguments to find are taken to be arguments to the command until
          an  argument  consisting of `;' is encountered.  

Dalam hal ini, kami menggunakan + versi -exec sehingga kami menjalankan sesedikit mv operasi mungkin:

   -exec command {} +
          This  variant  of the -exec action runs the specified command on
          the selected files, but the command line is built  by  appending
          each  selected file name at the end; the total number of invoca‐
          tions of the command will  be  much  less  than  the  number  of
          matched  files.   The command line is built in much the same way
          that xargs builds its command lines.  Only one instance of  `{}'
          is  allowed  within the command.  The command is executed in the
          starting directory.

Linux
  1. Cara Menggunakan Perintah find Linux untuk Menemukan File

  2. Bagaimana cara menemukan Command Invert Match di Solaris

  3. Shell - Bagaimana menemukan direktori dari beberapa perintah?

  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Cara mengecualikan direktori di find . memerintah

  3. Bagaimana menemukan ruang disk lokal dengan perintah `df`?

  1. Cara Menemukan Koneksi SSH Aktif di Linux

  2. Cara Menggunakan Perintah Grep untuk Menemukan Teks di File

  3. Bagaimana Menghentikan Perintah Temukan Setelah Pertandingan Pertama?