Bashの*と?*グローブの違い

Bashの*と?*グローブの違い
  • *ほぼ長さが無限のワイルドカードです。
  • ?長さが約1または0のワイルドカードです。

で文字列を検索するときにvsを使用する*ことに違いはありますか??*bash

ベストアンサー1

違いは、in bash(質問にタグ付けしたとき)*は長さが0文字以上のすべての文字列と一致し、?*inは長さが1文字以上の文字列と一致することです。たとえば、2つのファイルを考えてみましょfile.txtxfile.txtls ?*file.txtls *file.txt

この構成を使用する実際のケースは、隠しファイルをリストすることです。ただこれをする時が多いです。

ls .??*

二重疑問符は、より単純な形式のように、現在のディレクトリ.と親ディレクトリが一覧表示されるのを防ぐためにここで使用されます。..ls .*


.??*たとえば、2 文字のみのファイル名 ( ) は、.fこのパターンと一致しません。より信頼できる解決策はありますが、ls {..?,.[!.]}*通常これは私にとってあまりにも多くのタイプです。

おすすめ記事