メタキャラクタ


Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7.1版】
 (今すぐ↑をクリックしてください。)

ファイル検索をする時に役立つのがシェルのメタキャラクタです。

メタキャラクタとは、ファイル名のパターンを表す特殊な記号のことを指します。
メタキャラを使うと、パターンに一致する複数のファイルを一括して扱うことができます。

例えば、カレントディレクトリに↓のファイルが存在するとします。

-----------------------------------------------------
$ ls
a.txt aaa b.txt bbb c.txt ccc
-----------------------------------------------------

メタキャラクタを使って「*.txt」とした場合、
↑の例で対象になるは、「a.txt、b.txt、c.txt」になります。

また、「a*」とした場合、「a.txt、aaa」が対象になります。

-----------------------------------------------------
$ ls *.txt
a.txt b.txt c.txt
-----------------------------------------------------

-----------------------------------------------------
$ ls a*
a.txt aaa
-----------------------------------------------------

メタキャラクタを、メタキャラクタではなく、通常の文字として使用したい場合は、
「\」を使って特殊な意味を打ち消します。

これをエスケープシーケンスといいます。
例えば、「\*」はアスタリスク「*」を文字として扱います。
-----------------------------------------------------
$ ls *  ←カレントディレクトリ内のすべてのファイルが表示される
a.txt aaa b.txt bbb c.txt ccc
$ touch ¥*  ←「¥」を付けて*というファイル名のファイルを作成
$ ls ¥* ←「¥」を付けて*ファイルを表示する
*
-----------------------------------------------------

環境によっては「¥」記号が\(バックスラッシュ)で表示される場合があります。
その場合は、↓のページを確認してください。
http://www.linuxmaster.jp/linux_blog/2010/03/linux-1.html


-----------------------------------------------------------------------------
メタ     説明
キャラクタ  
-----------------------------------------------------------------------------
 *      0文字以上の文字または文字列にマッチします。
       例えば、「a*」は、a、aa、abc、aaaaのいずれにもマッチします。
       特に0文字にもマッチすることに注意が必要です。
-----------------------------------------------------------------------------
 ?      任意の1文字にマッチします。
       例えば「a?」はaa、a2などにマッチして、aやabcにはマッチしません。
-----------------------------------------------------------------------------
 []     []内に列挙されている文字のいずれかに1文字マッチします。
例えば、「a[bcd]」は、ab、ac、adのいずれかにマッチします。
       abcにはマッチしません。
       また連続した文字列には「-」が使えます。「a-z」はアルファベットの
       小文字にマッチし、「0-9」は数字全てにマッチします。
       つまり、[0-9]は[0123456789]と指定したのと同じになります。
       範囲指定の先頭に「!」をつけると、マッチしない範囲を
       指定できます。a[!bcd]は、aa、a1とはまっちしますが、
       ab、ac、adとはマッチしません。
       [!a-z]はアルファベットの小文字以外の任意の文字にマッチします。
-----------------------------------------------------------------------------
 {}     {}内の文字を使って文字列を生成します。
       「text{1,2}」は、text1、text2を生成します。
-----------------------------------------------------------------------------



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする