Saya ingin mencari semua file di direktori yang berisi -2
.
Menggunakan ls | grep "-2"
pengembalianusage: grep...
Menggunakan tanda kutip tunggal sebagai ganti tanda kutip ganda menghasilkan hal yang sama, dan juga tidak menggunakan tanda kutip sama sekali, saat mencari hal lain dengan benar mengembalikan nama file yang cocok.
Seingat saya -
bukan karakter khusus regex.
Tolong jangan fokus pada masalah khusus menemukan file dengan nama. Saya terutama ingin memahami mengapa grep bersikap seperti ini.
Menggunakan bash di macOS 10.13
-2
sebagai parameter baris perintah, terlepas dari fakta itu dibungkus oleh tanda kutip.
grep -- -2
ataugrep -- "-2"
ls | grep -e "-2"
akan berhasil. Katakan saja grep itu ekspresi. Tampaknya tanda hubung dibaca sebagai opsi. Pasti pipa.