使用rsync在复制期间使用--files-from重命名文件?

Mar*_*man 18 linux bash rsync rename

使用rsync,如何在使用--files-from参数进行复制时重命名文件?我有大约190,000个文件,每个文件在从源复制到目标时都需要重命名.我计划将文件列表放在文本文件中以传递给--files-from参数.

小智 13

不完全正确...您可以使用rsync重命名文件,但只有在一次rsync一个文件,并设置--no-R --no-implied-dirs选项,然后显式设置目标名称目的地路径.

但在那时,您可能只想使用其他工具.

例如,这可以工作:

rsync --no-R --no-implied-dirs
1.2.3.4::module/$FILENAME
/$PATH/$TOFILE/$NEWFILENAME
Run Code Online (Sandbox Code Playgroud)

  • 实际上,在某些情况下,rsync对单个文件很有用.如果文件很大,并且只是进行了微小的更改,或者只是附加了,那么这是一个很好的选择. (4认同)
  • 根据手册页,`--no-implied-dirs`只会影响`--relative`的工作方式.而`--relative`与`-R`相同.但你使用`--no-R`,这让我想知道在这种情况下`--no-implied-dirs`应该具有什么效果? (2认同)

Aar*_*lla 10

无法使用rsync任意重命名文件.所有rsync都可以将文件移动到其他目录.

您必须在发送方或接收方使用第二个工具来重命名文件.