大文字と小文字を区別しないパターンをlsと一致させるには?

大文字と小文字を区別しないパターンをlsと一致させるには?

大文字と小文字を無視し、特定のパターンに一致するすべてのファイルを一覧表示したいと思います。

たとえば、次のコマンドを実行します。

ls *abc*

大文字と小文字を無視し、ファイル名に「abc」を含むすべてのファイルを表示したいと思います。

-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

ノート

マンページでケースを検索しましたが、何も見つかりませんでした。

ベストアンサー1

これは実際には.dllではなくシェルによって行われますls

では、bash以下を使用できます。

shopt -s nocaseglob

そしてそれからコマンドを実行します。

またはzsh:

unsetopt CASE_GLOB

またはYashから:

set +o case-glob

これで注文が来ます。

.bashrcそれぞれ、.zshrcまたはに入れることもできます.yashrc

またはzshを使用してください。

setopt extendedglob
ls -d -- (#i)*abc*

(つまり、ワイルドカードごとに大文字と小文字を区別しないワイルドカード)

ksh93の使用:

ls -d -- ~(i:*abc*)

欲しいワイルドカード代わりに、シェルが渡されるファイルであるlsため、動作が異なります。ls

おすすめ記事