特定の25kフォルダを別の場所に移動

特定の25kフォルダを別の場所に移動

私はLinux初心者です。

90,000フォルダを含むディレクトリで、特定の25,000フォルダを別の場所に移動しようとしています。フォルダ名があり、次のコマンドを試しました。

cp -r /path/{folder1,folder2,...} /path

200 個のフォルダで動作しますが、大きい方の数値ではパラメータリストが長すぎて失敗します。

他のコマンドがあるか、ファイルから読み取ることがありますかtext/csv

答え1

存在する場合は、text/csvファイルのすべての行を読み取り、cpフォルダーのコピーを実行する必要があります。

xargsまたはparallelまたはrush源泉)、このコマンドは各行に対して特定のアプリケーションを実行します。

たとえば、私のlistdirがLIST_DIR.txt 次のような場合:

folder1
folder2
folder3
folder4

このコマンドを使用してフォルダをコピー先にコピーする必要があります。

cat LIST_DIR.txt | rush 'cp -r /path/{} /path'

またはxargs

cat LIST_DIR.txt | xargs -I {} cp -r /path/{} /path

答え2

この種の問題に対する一般的な解決策は、以下を使用することです。xargsUnixユーティリティ、ファイルに提供されている入力引数、および/または標準入力を介してコマンドを繰り返し実行します。

これは多くの例を含むブログ投稿使用xargs

関連情報