リストに基づいてすべてのファイルをあるフォルダから別のフォルダに移動します。

リストに基づいてすべてのファイルをあるフォルダから別のフォルダに移動します。

Aあるフォルダから別のフォルダに移動したいファイルのリストがありますが、B手動で移動したくありません。リストを繰り返して、そのリスト内の各ファイルを移動する簡単な方法はありますか?

ベストアンサー1

rsyncファイルのリストが1行に1つのファイル名であると仮定すると、を使用してファイルを移動できます。

rsync -av --remove-source-files --files-from filelist.txt sourceDir/ targetDir/

ファイルが絶対名(つまり、名前がで始まる場合/)の場合はsourceDir、必ずしなければなりません/。それ以外の場合は、ルートの相対名でなければなりません。

はい

$ mkdir src dst
touch src/{one,two,three}
$ cat >filelist.txt <<EOF
one
two
EOF

$ ls src
one  three  two
$ ls dst

$ rsync -av --files-from filelist.txt --remove-source-files src/ dst/
building file list ... done
one
two

sent 165 bytes  received 70 bytes  470.00 bytes/sec
total size is 0  speedup is 0.00

$ ls src
three
$ ls dst
one  two

おすすめ記事