ワイルドカードの組み合わせ
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 などにマッチ? と [] の組み合わせ:
1桁の写真ファイルのみを一覧表示します:
ls photo_[0-9].jpg # photo_1.jpg と photo_2.jpg のみに一致します3つすべてを組み合わせる:
1桁の数字を含む任意のレポートファイルに一致させます:
ls *_[0-9].txt # report_1.txt と report_2.txt にマッチする任意の文字の後に特定の文字が続くファイルに一致させます:
ls [pr]*_?.txt # p または r で始まり、その後に任意の文字列、アンダースコア、1 文字、.txt が続く他のコマンドでワイルドカードを使う:
1桁の数字が付いたjpg写真をすべてフォルダーに移動する:
mv photo_[0-9].jpg archive/すべてのサブフォルダーから、すべての.logファイルを削除します。
rm */*.logチャレンジ
簡単ワイルドカードを組み合わせて、数字が1桁の.jpg写真ファイルだけを一覧表示します。つまり、photo_1.jpgとphoto_2.jpgは含めますが、含めないものはphoto_10.jpgや.pngファイルです。
ヒント:固定テキストの
photo_、1桁の数字を表す角括弧の範囲、そして拡張子の.jpgを1つのパターンに組み合わせます。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド