Lebih
Daftar file-file dengan ekstensi tertentu dengan ls dan grep
Saya hanya ingin mendapatkan file-file dari dir saat ini dan hanya output .mp4 .mp3 .file exe tidak ada yang lain. Jadi saya pikir saya hanya bisa melakukan ini:
ls | grep \.mp4$ | grep \.mp3$ | grep \.exe$
Tapi tidak, seperti yang pertama grep akan output hanya mp4's maka yang lain 2 grep's won't yang akan digunakan.
Ada ide? PS, Menjalankan script ini pada Lambat Leopard.
139
11
Mengapa tidak:
I'm tidak yakin di mana saya belajar itu - tapi aku've telah menggunakan ini.
Menggunakan ekspresi reguler dengan
cari
:Jika anda're perpipaan nama file:
Ini melindungi nama file yang mengandung spasi atau baris baru.
OS X
menemukan
hanya mendukung pergantian ketika-E
(ditingkatkan) opsi yang digunakan.egrep
-- diperpanjang grep -- akan membantu di siniharus melakukan pekerjaan.
cara termudah adalah dengan hanya menggunakan ls
Hanya dalam kasus: mengapa don't anda menggunakan
menemukan
?Tidak perlu untuk grep. Shell wildcard akan melakukan trik.
Jika anda telah menjalankan
kemudian yang tak tertandingi gumpalan akan dihapus sama sekali dan tidak akan meninggalkan pada baris perintah yang tidak di-expand.
Jika anda ingin kasus-sensitif globbing (jadi *.mp3 akan cocok dengan foo.MP3):
Untuk pengguna OSX:
Jika anda menggunakan
ls *.{mp3,exe,mp4}
, ia akan melempar kesalahan jika salah satu dari mereka ekstensi tidak memiliki hasil.Menggunakan
ls *.(mp3|exe|mp4)
akan mengembalikan semua file yang cocok ekstensi tersebut, bahkan jika salah satu ekstensi yang memiliki 0 hasil.Dalam kasus anda masih mencari alternatif solusi:
Merasa bebas untuk menambahkan lebih -e bendera jika diperlukan.
ls -R | findstr ".mp3"
ls -R
=> daftar direktori secara rekursifBerikut adalah salah satu contoh bahwa bekerja untuk saya.