GNU/Linux >> Belajar Linux >  >> Linux

Temukan banyak file dan ganti namanya di Linux

Untuk mengganti nama secara rekursif saya menggunakan perintah berikut:

find -iname \*.* | rename -v "s/ /-/g"

Anda dapat menggunakan find untuk menemukan semua file yang cocok secara rekursif:

$ find . -iname "*dbg*" -exec rename _dbg.txt .txt '{}' \;

EDIT: apa itu '{}' dan \; adalah?

-exec argumen membuat find mengeksekusi rename untuk setiap file yang cocok ditemukan. '{}' akan diganti dengan nama jalur file. Token terakhir, \; apakah ada hanya untuk menandai akhir dari ekspresi exec.

Semua itu dijelaskan dengan baik di halaman manual untuk menemukan:

 -exec utility [argument ...] ;
         True if the program named utility returns a zero value as its
         exit status.  Optional arguments may be passed to the utility.
         The expression must be terminated by a semicolon (``;'').  If you
         invoke find from a shell you may need to quote the semicolon if
         the shell would otherwise treat it as a control operator.  If the
         string ``{}'' appears anywhere in the utility name or the argu-
         ments it is replaced by the pathname of the current file.
         Utility will be executed from the directory from which find was
         executed.  Utility and arguments are not subject to the further
         expansion of shell patterns and constructs.

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

  2. Temukan file dan direktori terbesar di Linux

  3. Bagaimana Cara Mengganti Nama Banyak File Menggunakan Find?

  1. Temukan File dan Direktori di Linux Seperti Profesional

  2. Cara Mengganti Nama Banyak File Sekaligus di Linux

  3. Linux:hapus ekstensi file untuk banyak file

  1. Cara menemukan file di Linux

  2. Temukan Perintah di Linux (Temukan File dan Direktori)

  3. Temukan file dan tar (dengan spasi)