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.