while ループ -done

while ループ -done<done<file の代わりにコマンド

サブフォルダ内のすべてのファイルを現在のフォルダに移動するには、このスクリプトを使用します。

while read f
do
    mv "$f" .
done < file_list

file_listこれはうまく機能しますが、生成する必要があります

find . -name *.avi > file_list

私が望むのは、コマンドをwhileループに直接追加することです。

while read f
do
    mv "$f" .
done < find . -name *.avi

しかし、バッシュは私に言う -bash: syntax error near unexpected token `.'

findコマンドをwhileループにパイプする簡単な解決策は何ですか?

ベストアンサー1

これにはループは必要なく、find次のように実行できます。

find . -name '*.avi' -exec mv {} . \;

おすすめ記事