このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ワイルドカードの解釈

ワイルドカードの解釈

 ワイルドカードは、ファイル名やディレクトリ名を指定する際に、パターンマッチングを行うための特殊な文字です。ワイルドカードを使用することで、特定の文字列パターンに一致する複数のファイルやディレクトリを一度に操作することができます。これは、ファイル操作を効率的に行うために非常に便利です。

ワイルドカードの種類

ワイルドカード説明使用例
*0文字以上の任意の文字列に一致します。*.txt
?任意の1文字に一致します。file?.txt
[]括弧内のいずれか1文字に一致します。範囲指定も可能です(例:[a-z])。file[1-3].txt
ワイルドカードの種類

ワイルドカードの使用例

1.演習で使用するファイルの作成

演習で使用するファイルを作成します。

・「ls | tee file.txt file1.txt file2.txt file3.txt filea.txt fileb.txt filec.txt」コマンドを実行し、「ls」コマンドで作成したファイルを確認します。

user01@ubuntu-vm:~$ ls | tee file.txt file1.txt file2.txt file3.txt filea.txt fileb.txt filec.txt
snap
ダウンロード
テンプレート
デスクトップ
ドキュメント
ビデオ
ピクチャ
ミュージック
公開
user01@ubuntu-vm:~$ ls
file.txt   file3.txt  filec.txt     テンプレート  ビデオ        公開
file1.txt  filea.txt  snap          デスクトップ  ピクチャ
file2.txt  fileb.txt  ダウンロード  ドキュメント  ミュージック
2.アスタリスク (*)

以下のコマンドを実行します。

  • ls *」コマンド
  • ls *.txt」コマンド
    # カレントディレクトリ内の全てのファイルを表示
    user01@ubuntu-vm:~$ ls *
    file.txt  file1.txt  file2.txt  file3.txt  filea.txt  fileb.txt  filec.txt
    snap:
    firefox  snapd-desktop-integration
    ダウンロード:
    テンプレート:
    デスクトップ:
    ドキュメント:
    ビデオ:
    ピクチャ:
    ミュージック:
    公開:
    
    # 拡張子が .txt の全てのファイルを表示
    user01@ubuntu-vm:~$ ls *.txt
    file.txt  file1.txt  file2.txt  file3.txt  filea.txt  fileb.txt  filec.txt
    • ls * は、カレントディレクトリ内の全てのファイルとディレクトリを表示します。
    • ls *.txt は、拡張子が .txt の全てのファイルを表示します。
    3.クエスチョンマーク (?)

    ・「ls file?.txt」コマンドを実行します。

    # 名前が file1.txt, file2.txt, file3.txt などのファイルを表示
    user01@ubuntu-vm:~$ ls file?.txt
    file1.txt  file2.txt  file3.txt  filea.txt  fileb.txt  filec.txt
    • ls file?.txt は、名前が file1.txtfile2.txtfile3.txt など、file の後に任意の1文字が続く .txt ファイルを表示します。
    4.角括弧 ([])

    以下のコマンドを実行します。

    • ls file[1-3].txt」コマンド
    • ls file[a-c].txt」コマンド
    # 名前が file1.txt, file2.txt, file3.txt のファイルを表示
    user01@ubuntu-vm:~$ ls file[1-3].txt
    file1.txt  file2.txt  file3.txt
    
    # 名前が filea.txt, fileb.txt, filec.txt のファイルを表示
    user01@ubuntu-vm:~$ ls file[a-c].txt
    filea.txt  fileb.txt  filec.txt
    • ls file[1-3].txt は、名前が file1.txtfile2.txtfile3.txt のファイルを表示します。
    • ls file[a-c].txt は、名前が filea.txtfileb.txtfilec.txt のファイルを表示します。
    5.ファイルの削除

    演習で作成したファイルをまとめて削除します。

    ・「rm file*」コマンドを実行します。

    ワイルドカードに「*」を指定します。

    user01@ubuntu-vm:~$ rm file*
    user01@ubuntu-vm:~$ ls
    snap          テンプレート  ドキュメント  ピクチャ      公開
    ダウンロード  デスクトップ  ビデオ        ミュージック

    まとめ

     ワイルドカードを使用することで、ファイル名やディレクトリ名のパターンマッチングを簡単に行うことができます。アスタリスク (*) は0文字以上の任意の文字列に一致し、クエスチョンマーク (?) は任意の1文字に一致し、角括弧 ([]) は括弧内のいずれか1文字に一致します。これらのワイルドカードを適切に使用することで、効率的なファイル操作が可能になります。