镜像转换文件的结构

时间:2011-03-24 23:01:29

标签: bash shell rsync pax

我想文件结构同步到另一个文件结构,但转换一个,例如:

filesStructureA/ --[transformation(T)]--> filesStructureB/

是否可以使用rsync执行此操作?我看到rsync接受一个文件列表作为输入(--files-from),但实际上并不知道如何为每个文件应用转换T ...

换句话说,rsync是否可以动态重命名文件?

谢谢。

-

例如,从src/dst/,可以抑制目标路径中的每个bar/个出现,例如:

src/foo/hi.txt
src/foo/bar/hey.txt
src/foo/bar/bar/lorem/bar/hoy.txt

sed 's/bar\///'          <- [Transformation function]

dst/foo/hi.txt
dst/foo/hey.txt
dst/foo/lorem/hoy.txt

1 个答案:

答案 0 :(得分:0)

答案是pax

cd src/
find . -type -f -path '*bar/*' -print0 | pax -0 -rw -v -Y -Z -s '/\/bar//g' ../dst/
cd ..