linux怎么匹配多层目录
Linuxでは、ワイルドカードと正規表現を使用して、階層的ディレクトリに一致させることができます。
- ワイルドカードマッチング:
- *:匹配任意长度的任意字符。
- ?:匹配任意单个字符。
- []で列挙した文字のいずれかにマッチする。
- 階層に関係なくフォルダをマッチさせます。
- たとえば、.txtで終わるすべてのファイルに一致する場合はワイルドカードの*.txtを使用できます。名前の中にabcが含まれるすべてのファイルに一致させるには、ワイルドカードの*abc*を使用できます。
- 正規表現のマッチング
- どの文字列にもマッチする。
- 前一文字がゼロ個以上続くことをマッチする。
- 直前の文字がゼロまたは1文字にマッチする。
- []で囲まれた文字が1つ以上ある
- グループ分け
- たとえば、数字から始まり .txt で終わるファイルは、「^[0-9].*\.txt$」という正規表現を使用します。abc が含まれるファイルは、「.*abc.*」という正規表現を使用します。
コマンドラインでは、ディレクトリ内のファイル一覧を参照するために ls コマンドを使用でき、ワイルドカードや正規表現を使用してマッチさせることができます。たとえば、ls *.txt は .txt で終わるすべてのファイルを一覧表示できます。