Saya ingin mencari file yang tidak cocok dengan 2 -name
kondisi. Saya bisa melakukannya seperti ini:
find /media/d/ -type f -size +50M ! -name "*deb" ! -name "*vmdk"
dan ini akan menghasilkan hasil yang tepat tetapi bisakah saya bergabung dengan 2 kondisi ini dengan OR entah bagaimana?
-regex
kurang portabel dibandingkan-name
.ya kamu bisa:
Penjelasan dari spesifikasi POSIX :
Perhatikan bahwa tanda kurung, baik membuka dan menutup, diawali dengan garis miring terbalik (
\
) untuk mencegah evaluasi oleh shell.sumber
-exec
atau tindakan lain padafind
hasilnya, ingat untuk menyisipkan\( \)
seluruh kriteria, jika tidak-exec
akan berlaku hanya untuk-or
kriteria terakhir . Untuk mengerjakan semuanya, beri tanda kurung mereka:find \( <criterion> -o <criterion> \) -exec <command>
Anda sudah dekat dengan solusi:
Anda dapat menggabungkan operator logika berikut dalam urutan apa pun:
sumber
Anda dapat menggunakan ekspresi reguler seperti pada:
Backslash adalah karakter pelarian;
.
cocok dengan satu karakter, dan*
berfungsi untuk mencocokkan karakter sebelumnya nol atau lebih banyak kali, jadi.*
artinya cocok dengan nol atau lebih banyak karakter.sumber