bashでは、[[:space:]]はどういう意味ですか?

bashでは、[[:space:]]はどういう意味ですか?

ちょうどbashスクリプトが見つかりました。[[:space:]]Bashスクリプトでは、これはどういう意味ですか?なぜ二重コロンですか?

ベストアンサー1

実際にはbashマニュアルにありますが、探しているものが何であるかを知るのが役立ちます。いいえこれは、自分が見ている内容がわからないときに便利です。検索してみると条件式の部分があるので混乱します[[[[ expression ]]また、検索すると、:space:同じセクションの下に2つの例が表示されます。この例では、ナビゲーションパスのナビゲーションに従うことができます。

たとえば、次は1行(シェル変数行に格納されている)と一致し、値に空白文字(0を含む)、0個、または1つのインスタンスで構成される文字シーケンスがある場合は「b」と一致します。 ㅏ':

[[ $line =~ [[:space:]]*?(a)b ]]

...その部分が「空白文字」に該当するという点で一緒に編むことができますが[[:space:]]、そう考えることもできます。ただ表す完全な文字クラスではなく、リテラル空白文字です。

" space"もし(もし?)オンラインバッシュマニュアル、プレイできるゲームは「ただ」約32個です。約10番目はここにあります:

"[" および "]" では、文字クラスは [:class:] 構文を使用して指定できます。ここで、classはPOSIX標準で定義されている次のクラスの1つです。

alnum   alpha   ascii   blank   cntrl   digit   graph   lower
print   punct   space   upper   word    xdigit

文字クラスは、そのクラスに属するすべての文字と一致します。

その後、次の位置に移動します。POSIX規格そこから「文字クラス」という用語を検索して見つけることができます。

wctype, wctype_l - 文字クラス定義、これにより、次のことができます。

wctype() [CX] [オプションの開始] および wctype_l() [オプションの終了] 関数は、現在のロケール [CX] [オプションの開始] の文字タイプ情報で定義されているエンコーディング文字セット規則に従って wctype_t の値を決定する必要があります。または、それぞれのロケールで、[Option End]はロケール(LC_CTYPEカテゴリ)を表します。

それに従うとロケール設定リンクをクリックすると、最終的に実際の答えを得ることができます。ロケールセクション:

スペース

空白文字に分類する文字を定義します。 POSIXロケールでは、<space>, <form-feed>, <newline>, <carriage-return>, <tab>, and <vertical-tab>これを正確に含める必要があります。

upper、lower、alpha、digit、graph、またはxdigitキーワードで指定された文字は、ロケール定義ファイルに指定しないでください。 Portable Character Set<space>, <form-feed>, <newline>, <carriage-return>, <tab>, and <vertical-tab>およびクラススペースに含まれるすべての文字は自動的にこのクラスに含まれます。

おすすめ記事