ロケートの出力のファイルのリストを作成したい。scp
リストを取りたい。
構文についてはわかりません。疑似コードでの私の試み
locate labra | xargs scp {} masi@11.11.11:~/Desktop/
ファイルを移動先に移動するにはどうすればよいですか?
xargs は通常、コマンド ラインに収まる数の引数を取りますが、-I を使用すると突然 1 つしか取りません。GNU Parallel http://www.gnu.org/software/parallel/がより良い解決策かもしれません:
locate labra | parallel -m scp {} masi@11.11.11:~/Desktop/
あなたはscpを見ているので、rsyncもチェックすることをお勧めしますか?
locate labra | parallel -m rsync -az {} masi@11.11.11:~/Desktop/
通常、{} は検索イズムです。
find ... -exec cmd {} \;
{} は、find が作業している現在のファイルです。
xargsを次のように動作させることができます:
locate labra | xargs -I{} echo {} more arguments
ただし、 scpを 1 回呼び出すのではなく、コマンドを複数回実行することがすぐにわかります。
したがって、あなたの例のコンテキストでは:
locate labra | xargs -I{} scp '{}' masi@11.11.11:~/Desktop/
{} を一重引用符で囲んでいることに注意してください。パスにスペースが含まれている場合に便利です。