次のコマンドを実行するとき:
mv -v foo /mnt/bar
ディレクトリfoo
とすべてのサブコンテンツがこのディレクトリに移動されます/mnt/bar
。ファイルの移動順序は次のとおりです。目次注文する( ls -U
)。
同じことをしながら、サブファイル/ディレクトリをfoo
アルファベット順に移動する良い方法はありますか?
find -exec mv
子コンテンツをアルファベット順に繰り返すために使用できることはわかっていますが、ターゲットで同じサブディレクトリ構造を維持するには、いくつかの面倒な作業が必要です。 GNUにフラグがあったらと思いますが、mv
マニュアルページには役に立つものはありません。
ベストアンサー1
$ \ls foo | xargs -I% mv -v foo/% bar
'foo/one' -> 'bar/one'
'foo/sie' -> 'bar/sie'
'foo/two' -> 'bar/two'
'foo/uve' -> 'bar/uve'
'foo/wox' -> 'bar/wox'
'foo/zanzibar' -> 'bar/zanzibar'
ls
項目をアルファベット順にリストするために使用されます。純粋に実行されていることを確認するにはls
(.bashrcまたは.bash_aliasesに隠されたエイリアスとして追加された追加の文字なし)、コマンドを.bashrcまたは.bash_aliasesとして実行します\ls
。ls
次に出力を送信xargs
- 各項目に変数とともに変数名を指定します
-I
(これはmv
コマンドで「表示」できる情報を提供します) - アイテム(と呼ばれる
%
)をその場所からfoo
新しいターゲットに移動します。