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