GNU/Linux >> Belajar Linux >  >> Linux

Cari File Yang Pathnamenya Mengandung Beberapa Kata Tanpa Urutan Khusus Diantaranya?

Saya ingin mencari semua file yang nama jalurnya berisi beberapa kata (word1 , word2 ), tanpa urutan tertentu di antara mereka.
Contoh file yang cocok adalah:

word1bar/fooword2/myfile
fooword2/word1bar/myfile
fooword2/bar/word1myfile

Perintah apa yang dapat menyelesaikan tugas?

Saya kira beberapa perintah seperti ini akan berhasil:

find . -regex regexpattern

Terima kasih.

Solusi saya dengan locate adalah Meningkatkan pencarian file dengan nama path dengan locate dan grep pipeline

Jawaban yang Diterima:

Sulit dilakukan dengan satu pola (regex atau shell), tetapi karena find dapat mengambil beberapa kondisi, kita dapat menggunakan

find . -type f -path "*word1*" -path "*word2*" ...

Di regex, Anda harus menentukan semua permutasi kata yang berbeda, seperti .*word1.*word2.*|.*word2.*word1.* (ERE atau Perl RE saja), dan itu akan meledak dengan cepat jika Anda memiliki lebih dari dua kata yang ingin Anda temukan.


Linux
  1. Cari File Teks Di Mana Dua Kata Berbeda Ada (Urutan apa saja, Baris Apa Saja)?

  2. Bagaimana Cara Menggunakan Gui Untuk Mencari File Di Gnome?

  3. Gunakan Temukan dan Temukan untuk mencari file di Linux

  1. Cara mencari file menggunakan regex di skrip shell linux

  2. Temukan file dan tar (dengan spasi)

  3. Mencari file yang TIDAK dimiliki oleh pengguna tertentu

  1. linux:cari file bertipe *.php yang baru saja dimodifikasi

  2. Secara rekursif menemukan file dengan ekstensi tertentu

  3. Cara menemukan file yang tidak berisi string pencarian tertentu