複数のパイプラインの変数範囲

複数のパイプラインの変数範囲

私は次のことをやろうとしています。

find . -name "*.dat" | get the basename of file | move filename returned by first command to basename returned by second command

./mydir1/dir2/file1.dat具体的な例を挙げると、名前をに変更したいと思いますfile1.dat

パイプでできますか?それでは、最初のコマンドの出力を最初のパイプの変数に格納し、2番目のパイプでどのように使用できますか? 「パイプライン」という用語を正しく使用してほしいです。

ベストアンサー1

find コマンドはこの作業を独自に実行するため、パイプは不要です。

find . -name "*.dat" -exec mv -t . {} \;

.dat現在のディレクトリにすでに存在するファイルも検索して移動するため、これはやや非効率的です。

おすすめ記事