JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 5: 標準、環境、マクロ     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

Standards, Environments, and Macros

acl(5)

ad(5)

advance(5)

adv_cap_1000fdx(5)

adv_cap_1000hdx(5)

adv_cap_100fdx(5)

adv_cap_100hdx(5)

adv_cap_10fdx(5)

adv_cap_10hdx(5)

adv_cap_asym_pause(5)

adv_cap_autoneg(5)

adv_cap_pause(5)

adv_rem_fault(5)

ANSI(5)

architecture(5)

ars(5)

ascii(5)

attributes(5)

audit_binfile(5)

audit_flags(5)

audit_remote(5)

audit_syslog(5)

availability(5)

brands(5)

C++(5)

C(5)

cancellation(5)

cap_1000fdx(5)

cap_1000hdx(5)

cap_100fdx(5)

cap_100hdx(5)

cap_10fdx(5)

cap_10hdx(5)

cap_asym_pause(5)

cap_autoneg(5)

cap_pause(5)

cap_rem_fault(5)

charmap(5)

compile(5)

condition(5)

crypt_bsdbf(5)

crypt_bsdmd5(5)

crypt_sha256(5)

crypt_sha512(5)

crypt_sunmd5(5)

crypt_unix(5)

CSI(5)

datasets(5)

device_clean(5)

dhcp(5)

dhcp_modules(5)

environ(5)

eqnchar(5)

extendedFILE(5)

extensions(5)

fedfs(5)

filesystem(5)

fmri(5)

fnmatch(5)

formats(5)

fsattr(5)

grub(5)

gss_auth_rules(5)

hal(5)

iconv_1250(5)

iconv_1251(5)

iconv(5)

iconv_646(5)

iconv_852(5)

iconv_8859-1(5)

iconv_8859-2(5)

iconv_8859-5(5)

iconv_dhn(5)

iconv_koi8-r(5)

iconv_mac_cyr(5)

iconv_maz(5)

iconv_pc_cyr(5)

iconv_unicode(5)

ieee802.11(5)

ieee802.3(5)

ipfilter(5)

ipkg(5)

isalist(5)

ISO(5)

kerberos(5)

krb5_auth_rules(5)

krb5envvar(5)

KSSL(5)

kssl(5)

labels(5)

largefile(5)

ldap(5)

lf64(5)

lfcompile(5)

lfcompile64(5)

link_duplex(5)

link_rx_pause(5)

link_tx_pause(5)

link_up(5)

locale(5)

locale_alias(5)

lp_cap_1000fdx(5)

lp_cap_1000hdx(5)

lp_cap_100fdx(5)

lp_cap_100hdx(5)

lp_cap_10fdx(5)

lp_cap_10hdx(5)

lp_cap_asym_pause(5)

lp_cap_autoneg(5)

lp_cap_pause(5)

lp_rem_fault(5)

man(5)

mansun(5)

me(5)

mech_spnego(5)

mm(5)

ms(5)

MT-Level(5)

mutex(5)

MWAC(5)

mwac(5)

nfssec(5)

NIS+(5)

NIS(5)

nis(5)

nwam(5)

openssl(5)

pam_allow(5)

pam_authtok_check(5)

pam_authtok_get(5)

pam_authtok_store(5)

pam_deny(5)

pam_dhkeys(5)

pam_dial_auth(5)

pam_krb5(5)

pam_krb5_migrate(5)

pam_ldap(5)

pam_list(5)

pam_passwd_auth(5)

pam_pkcs11(5)

pam_rhosts_auth(5)

pam_roles(5)

pam_sample(5)

pam_smbfs_login(5)

pam_smb_passwd(5)

pam_tsol_account(5)

pam_tty_tickets(5)

pam_unix_account(5)

pam_unix_auth(5)

pam_unix_cred(5)

pam_unix_session(5)

pam_user_policy(5)

pam_zfs_key(5)

pkcs11_kernel(5)

pkcs11_kms(5)

pkcs11_softtoken(5)

pkcs11_tpm(5)

pkg(5)

POSIX.1(5)

POSIX.2(5)

POSIX(5)

privileges(5)

prof(5)

pthreads(5)

RBAC(5)

rbac(5)

regex(5)

regexp(5)

resource_controls(5)

sgml(5)

smf(5)

smf_bootstrap(5)

smf_method(5)

smf_restarter(5)

smf_security(5)

smf_template(5)

solaris10(5)

solaris(5)

solbook(5)

stability(5)

standard(5)

standards(5)

step(5)

sticky(5)

suri(5)

SUS(5)

SUSv2(5)

SUSv3(5)

SVID3(5)

SVID(5)

tecla(5)

teclarc(5)

term(5)

threads(5)

trusted_extensions(5)

vgrindefs(5)

wbem(5)

xcvr_addr(5)

xcvr_id(5)

xcvr_inuse(5)

XNS4(5)

XNS(5)

XNS5(5)

XPG3(5)

XPG4(5)

XPG4v2(5)

XPG(5)

zones(5)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

fnmatch

- ファイル名のパターンマッチング

機能説明

次に説明するパターンマッチング表記法を使用して、シェル内で一致する文字列のパターンを指定します。従来のパターンマッチング表記法も正規表現に対応していますが、若干異なっています。このため、このパターンマッチング表記法の規則については、regex(5) のマニュアルページで記述されている正規表現表記法に基づいて説明します。

単一の文字を照合するパターン

次の単一の文字を照合するパターンは、単一の文字 (通常の文字特殊パターン文字パターンブラケット表現) を照合します。パターンブラケット表現は、単一の照合要素もマッチングします。

通常の文字とは、その文字自体を照合するパターンです。NUL、引用符を必要とする特殊なシェル文字、および次の 3 つの特殊パターン文字を除いて、サポートされる文字セットに任意の文字を指定できます。マッチングは文字のグラフィック表現ではなく、文字のエンコーディングに使用されるビットパターンに基づいて行なわれます。任意の文字 (通常、シェル特殊、特殊パターン) に引用符を付けると、そのパターンはその文字自体を照合します。シェル特殊文字には、常に引用符が必要です。

引用符なしで、ブラケット表現以外の次の 3 つの文字には、パターン指定において特別な意味があります:

?

疑問符は任意の文字を照合するパターンです。

*

後述の「複数の文字を照合するパターン」で説明するように、アスタリスクは複数の文字を照合するパターンです。

[

開始括弧から、パターンブラケット表現が導入されます。

regex(5) のマニュアルページに記述された基本正規表現におけるブラケット表現についての説明は、正規表現表記法では一致しないリストの役割において感嘆符 ( ! ) がサーカムフレックス文字 (^) に置換される点を除いて、パターンブラケット表現にも当てはまります。引用符なしのサーカムフレックス文字でブラケット表現が始まる場合は、不特定の結果が発生します。

ブラケット表現でサーカムフレックスを制限すると、感嘆符に加えてサーカムフレックスを否定文字として使用するパターンマッチングをサポートする実装が可能になります。移植性のあるアプリケーションでどちらかの文字をマッチングするには、[\^!] などを使用する必要があります。

シェルの引用符が削除されていない (exec 関数のいずれかを使用して find が呼び出されるときの find –name 一次子への引数や、fnmatch(3C) 関数への pattern 引数など) パターンマッチングが使用されている場合は、特殊文字の前にバックスラッシュ文字を付けてエスケープすれば、特殊な意味を取り除くことができます。このようなエスケープするバックスラッシュは破棄されます。シーケンス \ \ は 1 つのリテラルバックスラッシュを表します。通常の文字、特殊なシェル文字、および特殊なパターン文字に引用符を付ける要件および効果はすべて、このコンテキストのエスケープに適用されます。

パターンマッチングは 3 つの別々の状況で動作する必要があるため、ここでは引用符とエスケープの両方について説明します。

特殊なシェル文字 (メタ文字とも呼ばれる) に引用符やエスケープ文字を付けるには、規格に準拠するアプリケーションが必要です。このような保護なしで使用すると、構文エラーが発生したり、実装の拡張機能がトリガーされたりする可能性があります。たとえば、KornShell のパターンでは、括弧に基づく一連の拡張機能がサポートされています。ksh(1) を参照してください。

複数の文字を照合するパターン

次の規則は、単一の文字を照合するパターンから複数の文字を照合するパターンを構成する際に使用されます。

各アスタリスクは 0 回以上の繰り返しを照合するため、パターン a*ba**b のはたらきはまったく同じです。

たとえば、

a[bc]

文字列 ab および ac に一致します。

a*d

文字列 adabd、および abcd と一致しますが、文字列 abc とは一致しません。

a*d*

文字列 adabcdabcdefaaaad、および adddd と一致します。

*a*d

文字列 adabcdefabcdaaaad、および adddd と一致します。

ファイル名の展開に使用されるパターン

これまでに「複数の文字を照合するパターン」および「単一の文字照合するパターン」で説明した規則は、パターンマッチング表記法がファイル名の展開で使用されるときに適用される次の規則によって限定されます。

  1. パス名のスラッシュ文字は、パターン内で 1 つ以上のスラッシュを使用して明示的に照合する必要があり、アスタリスクや疑問符などの特殊文字またはブラケット表現で照合することはできません。パターン内のスラッシュは、ブラケット表現の前に識別されるため、ファイル名の展開に使用されるパターンブラケット表現にスラッシュを含めることはできません。たとえば、パターン a[b/c]d は、abda/d などのパス名と一致します。文字どおり a[b/c]d のパス名のみと一致します。

  2. ファイル名がピリオド (.) から始まる場合は、パターンの最初の文字としてピリオドを使用するか、直後にスラッシュ文字を付けて、ピリオドを明示的に照合する必要があります。次のパターンでは、先頭のピリオドは照合されません:

    · アスタリスクや疑問符などの特殊文字

    · 次のような一致しないリストを含むブラケット表現:

    [!a]

    次のような範囲表現:

    [%-0]

    または、次のような文字クラス表現:

    [[:punct:]]

    次のように、ブラケット表現マッチングリスト内の明示的なピリオドが、

    [.abc]

    ファイル名の先頭ピリオドを照合できるかどうかは指定されません。

  3. 必要に応じて、指定されたパターンは既存のファイル名およびパス名と照合されます。各コンポーネントにパターン文字が含まれている場合は、そのコンポーネントを含むディレクトリに読み取り権限が必要です。コンポーネント (最後のコンポーネントを除く) にパターン文字が含まれていない場合は、検索権限が必要です。たとえば、次のパターンがあるとします:

    /foo/bar/x*/bam

    ディレクトリ / および foo には検索権限、ディレクトリ bar には検索権限および読み取り権限、各 x* ディレクトリには検索権限が必要です。

    パターンが既存のファイル名またはパス名と一致すると、それらのファイル名とパス名に置き換えられ、現在のロケールで有効な照合順序に従ってソートされます。パターンに不正なブラケット表現が含まれている場合や、既存のファイル名やパス名と一致しない場合は、パターン文字列は変更されません。

関連項目

find(1)ksh(1)fnmatch(3C)regex(5)