使用没有内容的文件名复制目录结构

Jue*_*mer 13 linux rsync structure copy

我有一个巨大的电影文件目录结构.为了分析该结构,我想复制整个目录结构,即文件夹和文件但是我不想复制所有的电影文件,而我想保留文件名.理想情况下,我使用原始电影文件名获得零字节文件.

我试图然后rsync到我的远程机器,它没有获取链接文件.

有没有想法如何做到没有编写脚本?

Che*_*evy 15

你可以使用find:

find src/ -type d -exec mkdir -p dest/{} \; \
       -o -type f -exec touch dest/{} \;
Run Code Online (Sandbox Code Playgroud)

查找目录(-d)下(src/),并创建(mkdir -p下)他们dest/或(-o)查找文件(-f)和touch其下dest/.

这将导致:

dest/src/<file-structre>
Run Code Online (Sandbox Code Playgroud)

您可以mv创造性地用户来解决此问题.


使用rsync可以实现其他(部分)解决方案:

rsync -a --filter="-! */" sorce_dir/ target_dir/
Run Code Online (Sandbox Code Playgroud)

这里的技巧是--filter=RULE排除(-)所有不是(!)目录(*/)的选项


Roh*_*han 10

在ubuntu上你可以尝试:

cp -r --attributes-only <source_dir> <target_dir>
Run Code Online (Sandbox Code Playgroud)

它不会复制文件数据.从手册页cp

--attributes-only
          don't copy the file data, just the attributes
Run Code Online (Sandbox Code Playgroud)

注意:我不确定此选项是否可用于其他发行版,如果有人可以确认请更新答案.