copy a directory structure with file names without content

copy, linux, rsync, structure

Solution

You can use find:

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

Find directory (`-d`) under (`src/`) and create (`mkdir -p`) them under `dest/` or (`-o`) find files (`-f`) and `touch` them under `dest/`.

This will result in:

dest/src/<file-structre>

You can user `mv` creatively to resolve this issue.

Other (partial) solution can be achieved with rsync:

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

The trick here is the `--filter=RULE` option that excludes (`-`) everything that is not (`!`) a directory (`*/`)

Problem

I have a huge directory structure of movie files. For analysis of that structure I want to copy the entire directory structure, i.e. folders and files however I don't want to copy all the movie files while I want to keep there file names. Ideally I get zero-byte files with the original movie file name. I tried to and then rsync to my remote machine which didn't fetch the link files. Any ideas how to do that w/o writing scripts?

Original source