2012-08-14 122 views
10

我的电影文件一个巨大的目录结构。对于这种结构的分析,我想复制整个目录结构,即文件夹和文件,但我不想复制所有的电影文件,而我想保留文件名。理想情况下,我使用原始电影文件名获得零字节文件。复制与文件名的目录结构没有内容

我试图然后Rsync在我这没有获取链接文件的远程机器。

任何想法如何做到这一点W/O写剧本?

回答

12

您可以使用发现:

find src/ -type d -exec mkdir -p dest/{} \; \ 
     -o -type f -exec touch dest/{} \; 

查找目录(-d)下(src/)和dest/或(-o)下创建(mkdir -p)他们找到的文件(-f)和dest/touch他们。

这将导致:

dest/src/<file-structre> 

可以用户mv创造性地解决这个问题。


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

rsync -a --filter="-! */" sorce_dir/ target_dir/ 

这里的技巧是不是(!)目录(*/

--filter=RULE选项排除( -)一切
8

在Ubuntu,你可以尝试:

cp -r --attributes-only <source_dir> <target_dir> 

它不复制文件数据。 从cp

--attributes-only 
      don't copy the file data, just the attributes 

注意手册页:我不知道该选项可用于其他发行版,如果有人可以确认,请更新了答案。

+0

感谢您的回答罗汉,可惜的是我的Debian上Netgear的ReadyNAS设备将不知道该选项:( – 2012-08-14 06:24:35

+0

这并不在OS X中工作;任何人都知道,做最好的 – spinningarrow 2013-08-15 16:11:26

+0

的解决方案吗?在普通的linux上做到这一点! – Enerccio 2017-06-27 06:35:59

-2

LS> listOfMovie.txt;您将在.txt文件 中获得电影列表。对于多个目录,请参阅手册页。