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

Linux で「find」の結果を mv にパイプする方法

xargs これには一般的に使用され、 mv Linux には -t があります

find ./ -name '*article*' | xargs mv -t ../backup

find の場合 -exec ... \+ をサポート あなたは同等に行うことができます

find ./ -name '*article*' -exec mv -t ../backup {}  \+

-t オプションは GNU 拡張であるため、GNU coreutils を持たないシステムには移植できません。 (ただし、Busybox を除いて、私が見たすべての適切な Linux にはそれがあります)。完全な POSIX 移植性のために、もちろん、独自の置換を展開することも可能です。おそらく

find ./ -name '*article*' -exec sh -c 'mv "[email protected]" "$0"' ../backup {} \+

ここで、sh -c 'commands' の後の最初の引数という便利な事実を恥知らずに悪用します。 $0 の「スクリプト名」パラメーターとして終了します shift する必要さえないように

おそらく https://mywiki.wooledge.org/BashFAQ/020 も参照してください


find ./ -name '*article*' -exec mv {}  ../backup  \;

または

find ./ -name '*article*' | xargs -I '{}' mv {} ../backup

Linux
  1. LinuxでディスクがSSDかHDDかを確認する方法

  2. Linux の find コマンドを使用してファイルを検索する方法

  3. Linuxのソケットバッファサイズを見つける方法

  1. Linuxのディレクトリツリーで最も古いファイルを見つける方法

  2. Linux:デバイスに使用されているデバイスドライバーを見つける方法は?

  3. FIND の結果を COPY コマンド CP にパイプすることは可能ですか?

  1. Linuxでファイルを見つける方法

  2. Linux ですべてのスパース ファイルを見つける方法

  3. Linux でゲートウェイ IP アドレスを見つける方法