Di bawah bash, jalankan shopt -s extglob
(atau letakkan di Anda ~/.bashrc
), dan Anda dapat menggunakan pola tambahan yang memberikan ekspresi reguler dengan sintaks yang tidak biasa (diwarisi dari ksh). Anda dapat menggunakan pola-pola ini di ksh juga, tentu saja, dan juga di zsh setelahnya setopt ksh_glob
.
$ shopt -s extglob
$ ls /opt/somedir/@(aa|bb|cc|doesnotexist)
/opt/somedir/aa /opt/somedir/bb /opt/somedir/cc
Di zsh, Anda dapat langsung menggunakan (foo|bar)
sebagai pola.
% ls /opt/somedir/(aa|bb|cc|doesnotexist)
/opt/somedir/aa /opt/somedir/bb /opt/somedir/cc
Perhatikan bahwa perintah ini disebut dengan path lengkap. Jika Anda ingin memanggil perintah dengan jalur pendek, Anda harus mengubah direktori, dan(cd /opt/somedir && somecommand aa bb cc)
sejauh ini merupakan cara termudah.
Gilles 'SANGAT berhenti menjadi jahat'
sumber
Anda dapat memfilter menggunakan
egrep
:Untuk menemukan semua file teks:
sumber
Pertama, saya mengarahkan Anda ke: jangan pernah menguraikan , selamanya . Cara yang tepat dan kanonik untuk melakukan apa yang Anda inginkan adalah dengan find .
Sebagai contoh:
Saya biasanya menggunakan
-name
bukan-regex
karena lebih sederhana. Tapi sebuah regex cocok untuk Anda gunakan. Anda harus menjalankan perintah tanpa-exec
pertama kali, untuk memastikan itu sebenarnya adalah file yang ingin Anda pindahkan / hapus.sumber