回答:
*\:2,*T
リストするファイルのグロブパターンです。それを理解するには、いくつかのことを覚えておく必要があります。
:
シェルでエスケープする必要があります \:
だから、*\:2,*T
例えばというファイルにマッチしますTranscationNumber:2,EventType:XYT
編集
コメントから、:
ニーズをエスケープする必要性(またはそうでない)には、いくつかの言葉があります。サインをエスケープすることは厳密には必要ではありません:
が、オートコンプリート時にbash自体が示唆しています。
:
からエスケープする必要があるのですか?
:
エスケープする必要はありません。特定の状況(コマンドとして使用する場合)でのみ特別であり、グロブパターンではありません。\:
同等です:
違いはありませんエスケープ、。
unset var; : ${var:=x}; echo $var
:
は、COMP_WORDBREAKS
環境変数のデフォルト値の一部です。Bashのオートコンプリートでは、これらの文字は読み取り行ライブラリによって単語の区切り文字として使用され、コロンを含むファイル名はもちろん単一の単語である必要があります。したがって、bashのオートコンプリートではコロンをエスケープする必要がありますが、それ以外の場合は「ほとんど」特殊文字ではありません
ワイルドカードパターンに一致するすべてのファイルを一覧表示する *:2,*T
ここで、ワイルドカード*
はすべて(すべての可能な文字の任意の数)に一致
:2,
し、ファイル/ディレクトリ名に存在する必要がある文字です。
コロン:
はエスケープする必要がある特殊文字であるため、の形式です\:2,
。
ファイル/ディレクトリ名はT
。で終わる必要があります。
一致するファイル名は
:2,T
a:2,T
a:2,bT
abbY-$fafaf:2,<hskjhsgdfhjk>T
COMP_WORDBREAK
デフォルトで設定される環境値のリストに含まれているため、ファイル/ディレクトリ名パターンのコロンを自動的にエスケープします。-したがって、実際の特殊文字ではありませんが、コマンドラインでオートコンプリートを使用し、ファイル名とコロンを一致させる場合は、エスケープする必要があります。
他の人が指摘しているように、これは長い形式でリストされ、ファイルに:2
はT
これは、削除された(ゴミ箱に入れられた)ファイルをMaildirフォルダーで検索するように見えます。ただし、堅牢性のためには*
、最後に別のものが必要でした。後でアルファベット順の位置に新しいフラグを追加できます。たとえば、Dovecotはファイルサイズが最後にある別のフィールドを追加します。