回答:
このようにすることができます(未テスト):
for file in `ls --sort=size /path/to/x/*`; do mv $file /path/to/y/; done
lsに--reverseパラメーターを追加することにより、ソートを逆にすることができます。ファイル名にスペースが含まれている場合は、$ fileを引用符で囲む必要があります。
... mv "$file" /path/to/y/ ...
ファイル名に二重引用符が含まれる場合は、実際に問題が発生しています。
また、以下が機能する可能性もありますが、mvの実装に依存し、非常に多くのファイルで機能しない可能性があります(ファイル名のスペースや引用符に問題があります)。
mv `ls --sort=size /path/to/x/*` /path/to/y/
あなたは尋ねる:「これをしない理由はありますか?」質問を逆にする必要があります。これを行う理由はありますか?理由がある場合は、先に進んでください。
そうしない理由は、移動する前にすべてのファイルのインデックスを作成する必要があるためです。次に、それらすべてのファイルのサイズを取得し、並べ替えます。コピーを開始する前に。
そして、コピープロセスの前に計算した状態がコピープロセス中にまったく同じであるという保証はないため、無意味になります。