私はLinuxとコマンドの世界に初めて触れました。私は2つのディレクトリを持っています。 1つはpasta
(3つのファイルを含みます)、もう1つはpasta2
(何もありません)。 findコマンドを使用して3つのファイルをすべてからpasta
。pasta2
ただし、次のエラーが発生します。どんな提案がありますか?
注文する:
find pasta -type f -exec mv pasta2 {} \;
私は次のような結果を得ます。
mv: cannot overwrite non-directory `pasta/tmp3' with directory `pasta2'
mv: cannot overwrite non-directory `pasta/tmp1' with directory `pasta2'
mv: cannot overwrite non-directory `pasta/tmp2' with directory `pasta2'
答え1
構文がmv
正しくありません。それが必要です:
mv source destination
あなたは走っている
mv destination source
したがって、find
コマンドは実際に実行中です。
mv pasta2 pasta/tmp3
mv pasta2 pasta/tmp2
mv pasta2 pasta/tmp1
mv
通常のファイルでディレクトリを上書きしようと文句を言います。あなたが本当にやりたいことは
find pasta -type f -exec mv {} pasta2 \;
が実行されます
mv pasta/tmp3 pasta2
mv pasta/tmp2 pasta2
mv pasta/tmp1 pasta2
エラーなしで実行する必要があります。