web-dev-qa-db-ja.com

ls --hide =およびls --ignore =の構文

ls --hideおよびls --ignoreは、--ignore=部分の後に設定された正規表現によって定義されたファイルを除外する可能性を提供します。後者は、このオプションが-a, -Aでオフになっていないことを確認します。コマンドのmanおよびinfoページで正規表現について言及しています。

質問ls --hide=およびls --ignore=でサポートされているワイルドカードまたは正規表現。

* $ ?およびPOSIXブラケット式がサポートされているようです。しかし、これは常に適切に機能するようには見えず、私にとっては試行錯誤のゲームです。ここで重要な何かを見逃しましたか?

17
erch

manual から:

-I pattern--ignore=pattern

ディレクトリでは、名前がシェルパターン(正規表現ではない)パターンに一致するファイルを無視します。シェルと同様に、ファイル名の最初の.は、パターンの先頭のワイルドカードと一致しません。このオプションを複数回指定すると便利な場合があります。例えば、

     $ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

最初のオプションは.で始まる長さ3以上の名前を無視し、2番目のオプションは.を除く..で始まる2文字の名前をすべて無視し、3番目のオプションはで始まる名前を無視します#

シェルのみ使用できます globパターン*は任意の数の文字に一致し、?は任意の1文字に一致し、[…]は角括弧内の文字に一致し、\は次の文字を引用します。文字$はそれ自体を表します(シェルの拡張から保護するために、単一引用符で囲むか、先頭に\を付けてください)。

POSIX.2 regexパターン形式を使用します。 特定の詳細については、re_format(7)のマニュアルページを参照してください。

0
bahamat