Saya ingin membuat daftar semua file yang cocok dengan pola tertentu sambil mengabaikan kasus ini.
Misalnya, saya menjalankan perintah berikut:
ls *abc*
Saya ingin melihat semua file yang memiliki "abc" sebagai bagian dari nama file, mengabaikan huruf besar/kecil, seperti
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt
Catatan
Saya telah mencari di halaman manual untuk mencari kasus, tetapi tidak dapat menemukan apa pun.
Jawaban yang Diterima:
Ini sebenarnya dilakukan oleh shell Anda, bukan oleh ls
.
Di bash
, Anda akan menggunakan:
shopt -s nocaseglob
dan lalu jalankan perintah Anda.
Atau di zsh
:
unsetopt CASE_GLOB
Atau di yash:
set +o case-glob
lalu perintah Anda.
Anda mungkin ingin memasukkannya ke dalam .bashrc
, .zshrc
atau .yashrc
, masing-masing.
Atau, dengan zsh:
setopt extendedglob
ls -d -- (#i)*abc*
(yaitu globbing yang tidak peka huruf besar/kecil berdasarkan per karakter pengganti)
Dengan ksh93:
ls -d -- ~(i:*abc*)
Anda ingin globbing untuk bekerja berbeda, bukan ls
, karena itu semua adalah file yang diteruskan ke ls
oleh cangkangnya.