Menu
Coddy logo textTech

ワイルドカードの組み合わせ

CoddyのTerminalジャーニー「基礎」セクションの一部 — レッスン 28/82。

ワイルドカードの真の力は、それらを一緒に組み合わせるときに発揮されます。1つのパターンで *? および [] を混ぜることで、非常に精密なファイルマッチングを作成できます。

以下のファイルシステム:

photo_1.jpg
photo_2.jpg
photo_10.jpg
photo_1.png
photo_2.png
report_1.txt
report_2.txt
notes.txt

*[] の組み合わせ:

すべての画像ファイル(.jpg.png の両方)を一覧表示:

ls *.{jpg,png}    # ブレース展開を使用
ls *.[jp]*        # .jpg, .png, .jpeg などをマッチ

?[] の組み合わせ:

一桁の写真ファイルのみをリストアップ:

ls photo_[0-9].jpg   # matches photo_1.jpg and photo_2.jpg only

3つすべてを組み合わせる:

1桁の数字を含む任意のレポートファイルにマッチ:

ls *_[0-9].txt     # matches report_1.txt and report_2.txt

任意の文字で始まり、特定の文字が続くファイルにマッチ:

ls [pr]*_?.txt    # starts with p or r, then anything, then underscore, one char, .txt

他のコマンドとのワイルドカードの使用:

すべての1桁のjpg写真をフォルダに移動:

mv photo_[0-9].jpg archive/

任意のサブフォルダーからすべての.logファイルを削除:

rm */*.log
challenge icon

チャレンジ

簡単

ワイルドカードの組み合わせを使用して、1桁の数字が付いた.jpgの写真ファイルのみをリストアップしてください — つまりphoto_1.jpgphoto_2.jpgは表示しますが、しないようにphoto_10.jpgやどのような.pngファイルも。

ヒント: 固定テキストphoto_、1桁の数字のための括弧範囲、および.jpg拡張子を1つのパターンに組み合わせます。

チートシート

ワイルドカードは、*?[] を混ぜて使用することで、組み合わせて 正確なファイルマッチングパターンを構築できます。

*[] の組み合わせ:

ls *.{jpg,png}    # 複数の拡張子に対してブレース展開を使用
ls *.[jp]*        # .jpg、.png、.jpeg などに一致

?[] の組み合わせ:

ls photo_[0-9].jpg   # 1桁の写真ファイルのみに一致

3つのワイルドカードすべてを組み合わせ:

ls *_[0-9].txt     # アンダースコア、1桁、.txt で終わるファイルに一致
ls [pr]*_?.txt     # p または r で始まり、その後任意の文字、アンダースコア、1文字、.txt

他のコマンドとのワイルドカードの使用:

mv photo_[0-9].jpg archive/   # 1桁の jpg 写真を移動
rm */*.log                     # 任意のサブフォルダから .log ファイルを削除

自分で試してみよう

ターミナル
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン