あるディレクトリから別のディレクトリに1000個のファイルを移動したいと思います。元のディレクトリにあればできますが、これを行うだけです。
mv $(ls /home/jeremy/source|tail -1000) /home/jeremy/dest
他の場所ではパスが削除されるため、何らかの方法でパスを追加する必要があります。私は$が便利だと思ってトリッキーに見えるので、xargsを避けたいです。
ベストアンサー1
コマンドラインが長すぎず、コマンドが機能している場合は、xargs
次のように使用できます(トリッキーです)。
ls /home/jeremy/source | tail -1000 | xargs mv -t /home/jeremy/dest
これは、ファイル名(またはパス)に改行やその他の特殊文字がないと仮定します。それ以外の場合は、tailが正しく機能せず、xargsがパーティションファイル名を取得します(指定しない限り、行で動作するためxargs -0
)。
パラメータを使用すると、ターゲットにコピーする必要があるファイルパラメータの前にターゲットディレクトリを指定-t
できます。mv