1

次を書き直す最も効率的な方法は何ですか。

mv *.jpg ~/Pictures && mv *.gif ~/Pictures && mv *.png ~/Pictures
4

3 に答える 3

3

1つにグループ化できます

mv *.{jpg,gif,png} ~/Pictures

引数リストが長すぎる原因となるファイルが多すぎることを心配している場合

find -regex ".*\.\(jpg\|gif\|png\)" -print0 | xargs -r0 mv --target='~/Pictures'
于 2011-09-09T08:36:10.717 に答える
2

効率的?ファイル名の計算における効率は、実際のコピーによって圧倒される可能性がありますが、次のことを試すことができます。

mv *.jpg *.gif *.png ~/Pictures

多くのファイルについて話している場合は、コマンドラインのサイズ制限を超えないように注意する必要がありますが、おそらく and の使用を検討することfindになるでしょうxargs(完全に説明することで解決策を複雑にするつもりはありません。特にSO ネットワークの他の場所に、その拡張された質問に対する回答がある可能性があります)。

于 2011-09-09T08:40:59.270 に答える
0
shopt -s nocaseglob
mv *.{jpg,gif,png} ~/Pictures
于 2011-09-09T08:41:15.617 に答える