[解決済み] scp を再帰的に使用するが、一部のフォルダを除外する。
2023-05-12 16:58:18
質問
次のような構造のフォルダがあるとします。
/bench1/1cpu/p_0/image/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_0/fl_1/
/bench1/1cpu/p_1/image/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/1cpu/p_1/fl_1/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_0/fl_1/
/bench1/2cpu/p_1/image/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
/bench1/2cpu/p_1/fl_1/
....
私がやりたいことは
scp
というフォルダを作成することです。
/bench1/1cpu/p_0/image/
/bench1/1cpu/p_1/image/
/bench1/2cpu/p_0/image/
/bench1/2cpu/p_1/image/
見ての通り、再帰的に
scp
という名前のフォルダはすべて除外したいのですが、quot;fl_X"という名前のフォルダはすべて除外します。scpにはそのようなオプションはないようです。
アップデイト scpにはそのような機能はありません。代わりに以下のコマンドを使用します。
rsync -av --exclude 'fl_*' user@server:/my/dir
しかし、それは動作しません。フォルダのリストしか転送されないのです!!次のようなものです。
ls -R
どのように解決するのですか?
しかし
scp
は再帰的なディレクトリコピーに対応していますが
-r
オプションによる再帰的なディレクトリのコピーをサポートしますが、ファイルのフィルタリングはサポートしません。あなたのタスクを達成する方法はいくつかありますが、私ならおそらく
find
,
xargs
,
tar
そして
ssh
の代わりに
scp
.
find . -type d -wholename '*bench*/image' \
| xargs tar cf - \
| ssh user@remote tar xf - -C /my/dir
は
rsync
のソリューションは動作させることができますが、いくつかの引数を欠いています。
rsync
も必要です。
r
スイッチも必要です。また、もしあなたが
scp
と同じセキュリティを望むのであれば、転送は
ssh
. みたいな感じ。
rsync -avr -e "ssh -l user" --exclude 'fl_*' ./bench* remote:/my/dir
関連
-
[解決済み】フォルダを再帰的にコピーして、一部のフォルダを除いてコピーする
-
[解決済み] bashで変数に改行を埋め込もうとする [重複].
-
[解決済み] シェルスクリプトによるDockerコンテナ内でのスクリプトの実行
-
[解決済み] すべてのファイルに再帰的にファイル拡張子を追加する
-
[解決済み] Bashでコマンドライン引数を変更するには?
-
[解決済み] 空のディレクトリの検索
-
[解決済み] シェルのワイルドカード文字展開を停止しますか?
-
[解決済み] sed を使ってファイルの名前を大量に変更する
-
[解決済み] 予期しないbashの終了時に作成された一時ファイルを削除する
-
[解決済み] Bashで文字列の一文字目を削除する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] find を使ってサブディレクトリを除外する
-
[解決済み] Makefileでシェルコマンドを使用する方法
-
[解決済み] シェルスクリプトからウェブブラウザを起動する方法は?
-
[解決済み] ファイルを分割する方法。重複
-
[解決済み] bashスクリプトを一行ずつ実行するには?
-
[解決済み] .bashrcのエイリアスをvimのシェルコマンドで使用できるようにするには?(:!...)
-
[解決済み] 空のディレクトリの検索
-
[解決済み] scpでdirを再帰的にコピーするときにファイルをフィルタリングする方法は?
-
[解決済み] bashでファイルが存在するかどうかをテストするためのWhileループ
-
[解決済み] BashやShellスクリプトで関数の前方宣言を行うには?