GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mencocokkan Pola Case Insensitive Dengan Ls?

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.


Linux
  1. Bagaimana Menjalankan Grep Dengan Banyak Dan Pola?

  2. Bagaimana cara mengisi file dengan FF menggunakan dd?

  3. Bagaimana cara memeriksa kata sandi dengan Linux?

  1. Bagaimana saya menggunakan Vagrant dengan libvirt

  2. Cara mengenkripsi file dengan gocryptfs di Linux

  3. bagaimana cara menonaktifkan login SSH dengan kata sandi untuk beberapa pengguna?

  1. Cara membuat dokumen LaTeX dengan Emacs

  2. Cara mengubah kata dalam file dengan skrip shell linux

  3. Cara grep keluaran ps dengan header