すべてを

▼開く

閉じる▲

特定の拡張子(複数)を持つファイルをすべて移動する

○ワイルドカード「*」を使って拡張子が「.tif」と「.tiff」のファイルを移動する

lsコマンドで移動するファイルを見る
$ ls
IMG0029.jpg   IMG0083.jpg   IMG0142.jpg  IMG0175.jpg  IMG0211.jpg
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

mvコマンドで移動するファイルと移動先ディレクトリを指定する
$ mv *.ti* ../backup

mvコマンドでファイルを「*.ti*」、ディレクトリを「 ../backup」と指定すると、拡張子が「.tif」と「.tiff」のファイルがディレクトリ「 ../backup」に移動する。
ファイルを「*.tif*」と指定しても同様の結果が得られる。

lsコマンドで実行結果を確認する
$ ls ../backup
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

ワイルドカードの「*」は、0文字以上の任意の文字を意味するため、1文字目の「*」はすべてのファイル名を指定し、後の「.ti*」は拡張子の「.ti」以降にどのような文字がきてもよいことを意味する。「*」の場合は0文字以上なので、「.ti」以降が0文字の「.ti」にも5文字の「.tiffany」にもマッチする。しかし、このディレクトリには拡張子が「.jpg」と「.tif」と「.tiff」しかないので、「.tif」と「.tiff」だけにマッチする。

特定の拡張子を持つファイルをすべて移動する

○ワイルドカード「*」を使って拡張子が「.jpg」のファイルを移動する

lsコマンドで移動するファイルを見る
$ ls
IMG0029.jpg   IMG0083.jpg   IMG0142.jpg  IMG0175.jpg  IMG0211.jpg
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

mvコマンドで移動するファイルと移動先ディレクトリを指定する
$ mv *.jpg ../backup

mvコマンドで移動するファイルを「*.jpg」、移動先のディレクトリを「../backup」と指定すると、拡張子が「jpg」のファイルがすべてディレクトリ「../backup」に移動される。

lsコマンドで実行結果を確認する
$ ls
IMG0029.tiff  IMG0083.tiff  IMG0142.tif  IMG0175.tif  IMG0211.tif

アスタリスク「*」は、0文字以上の任意の文字列を意味するメタキャラクタで、ワイルドカードと呼ばれる。シェルがこれを解釈してコマンドを実行する。

最初の「*」は、ファイル名の本体がどのような名前でもよいことを意味し、「.jpg」は拡張子を「jpg」に特定している。つまり、「ファイル名.拡張子」型のファイルで拡張子に「jpg」を持つファイルを意味する。