GNU/Linux >> Belajar Linux >  >> Linux

Temukan semua file dengan nama yang mengandung string

-maxdepth opsi harus sebelum -name opsi, seperti di bawah ini.,

find . -maxdepth 1 -name "string" -print

Gunakan find :

find . -maxdepth 1 -name "*string*" -print

Ini akan menemukan semua file di direktori saat ini (hapus maxdepth 1 jika Anda menginginkannya secara rekursif) berisi "string" dan akan mencetaknya di layar.

Jika Anda ingin menghindari file yang berisi ':', Anda dapat mengetik:

find . -maxdepth 1 -name "*string*" ! -name "*:*" -print

Jika Anda ingin menggunakan grep (tapi menurut saya tidak perlu selama Anda tidak ingin memeriksa konten file) Anda dapat menggunakan:

ls | grep touch

Tapi, saya ulangi, find adalah solusi yang lebih baik dan lebih bersih untuk tugas Anda.


Gunakan grep sebagai berikut:

grep -R "touch" .

-R berarti berulang. Jika Anda lebih suka tidak membuka subdirektori, lewati saja.

-i berarti "abaikan kasus". Anda mungkin menganggap ini juga patut dicoba.


find $HOME -name "hello.c" -print

Ini akan mencari seluruh $HOME (mis. /home/username/ ) untuk file apa pun yang bernama "hello.c" dan tampilkan nama jalurnya:

/Users/user/Downloads/hello.c
/Users/user/hello.c

Namun, itu tidak akan cocok dengan HELLO.C atau HellO.C . Untuk mencocokkan tidak peka huruf besar-kecil, berikan -iname pilihan sebagai berikut:

find $HOME -iname "hello.c" -print

Keluaran sampel:

/Users/user/Downloads/hello.c
/Users/user/Downloads/Y/Hello.C
/Users/user/Downloads/Z/HELLO.c
/Users/user/hello.c

Berikan -type f opsi untuk hanya mencari file:

find /dir/to/search -type f -iname "fooBar.conf.sample" -print
find $HOME -type f -iname "fooBar.conf.sample" -print

-iname bekerja baik pada perintah pencarian versi GNU atau BSD (termasuk OS X). Jika versi perintah find Anda tidak mendukung -iname , coba sintaks berikut menggunakan grep perintah:

find $HOME | grep -i "hello.c"
find $HOME -name "*" -print | grep -i "hello.c"

ATAU coba

find $HOME -name '[hH][eE][lL][lL][oO].[cC]' -print

Keluaran sampel:

/Users/user/Downloads/Z/HELLO.C
/Users/user/Downloads/Z/HEllO.c
/Users/user/Downloads/hello.c
/Users/user/hello.c

Linux
  1. Centos – Ganti Nama Semua File Dengan Nama Tertentu?

  2. Jumlah File yang Mengandung String yang Diberikan?

  3. Cara Menemukan Semua File dengan Ukuran File Nol (0) Bytes di Direktori Secara Rekursif

  1. Bagaimana menemukan semua file yang diakhiri dengan .rb dengan Linux?

  2. Buat daftar semua file gambar grafik dengan find?

  3. Bagaimana cara menemukan semua file yang berisi teks tertentu di Linux?

  1. Temukan file dengan karakter windows ilegal dalam namanya di Linux

  2. temukan file dengan set ACL

  3. Temukan direktori dengan semua file di dalamnya lebih tua dari X?