`hcp`コマンドを用いて、特定パターンにマッチしたファイルをコピーすることができます。
・ワイルドカードを使用して条件を設定し、条件に合ったファイルをコピーするには次の様に実行します。
// 転送元ファイル構成
$ ls
file.txt file1.txt file_1.txt file_2.txt file_a.txt file_b.txt
$ hcp file_*.txt user@192.168.10.100:dir1
サーバ側には、以下のファイルが転送されます。
file_1.txt file_2.txt file_a.txt file_b.txt
・正規表現を使用して条件を設定することもできます。
転送元のファイルパスを正規表現で解釈し、パターンにマッチしたファイルをリモートサーバ(192.168.10.100)のユーザホームディレクトリにあるディレクトリ(dir2)にコピーするには以下の様に実行します。
// 転送元ファイル構成
$ ls
file.txt file1.txt file_1.txt file_2.txt file_a.txt file_b.txt
$ hcp -g "file_(a|b).*" user@192.168.10.100:dir2/
サーバ側には以下のファイルが転送されます。
file_a.txt file_b.txt
・ワイルドカードを使用して条件を設定し、条件に合ったディレクトリをコピーするには以下の様に実行します。
// 転送元ファイル構成
folder01/
├ fileA.txt
└ fileB.txt
folder02/
├ filea.txt
└ fileb.txt
folder3/
└ file.txt$ hcp -R folder0* user@192.168.10.100:dir01/
実行後のリモートサーバ側は以下の様になります。
dir01/
├ folder01/
│ ├ fileA.txt
│ └ fileB.txt
└ folder02/
├ filea.txt
└ fileb.txt※Windowsでは、ワイルドカードを使用したファイルのコピーはできますが、ディレクトリのコピーはできません。
hcpコマンドの基本的な使い方に関しては、以下も参考にしてください。
⇒hcp 基本的な使用方法 ― ファイルをコピーする