GNU/Linux >> Linux の 問題 >  >> Linux

パターンに一致するすべてのファイルをディレクトリとサブディレクトリから単一のディレクトリにコピーします

試してみてください:

find src/ -type f | grep -i so$ | xargs -i cp {} dst

Bash を使用している場合は、globstar をオンにできます。 ファイルとディレクトリを再帰的に照合するシェル オプション:

shopt -s globstar
cp src/**/*.so dst

名前が . で始まるファイルを検索する必要がある場合 、および/または . で始まる名前のディレクトリ内およびディレクトリ下のファイル 、dotglob を設定します オプションも (例:shopt -s dotglob を使用) )。 1 つのコマンドで両方を設定できます:

shopt -s globstar dotglob

Mike が提案したコマンドを試してみました:

find src/ -type f | grep -i so$ | xargs -i cp {} dst

しかし、すべてのファイルをディレクトリ dst にダンプすることになりました 相対パスが失われます。

相対パスを保持するには、コマンドを次のように変更する必要があります:

find src/ -type f | grep -i so$ | xargs -i cp {} dst/{}

Linux
  1. Linuxで特定の種類のファイルを検索してあるディレクトリから別のディレクトリにコピーする方法

  2. 特定のファイルを1つのファイルに連結しますか?

  3. ホスト名のリストからIpsを取得し、単一のファイルに結合するためのスクリプト/コマンド?

  1. 別のサーバーとの間でファイルやフォルダーをコピーする方法を学ぶ

  2. ファイルを検索してコピーする

  3. を除くすべてのファイルを一覧表示するコマンド。 (ドット) と .. (ドット ドット)

  1. Macのコマンドラインから現在のフォルダーとすべてのサブフォルダーの.DS_STOREファイルを削除します

  2. dockerfile からホストにファイルをコピーする方法は?

  3. すべてのサブディレクトリで一致するファイルを削除します