Ok, so I've been trying to get my head around this, but I'm struggling.
The premise is this: I have a directory with lots of subdirectories (some of which also contain more subdirectories), and I've got another separate directory on a different share which mimics the source directory in the layout. What I need now is a way of looping through the source directory, discovering the files in the subdirs, and then creating symlinks to them in the destination dir.
In case this isn't that clear, this post describes it fairly well, except that that question is aimed at symlinking dirs, rather than the files themselves.
edit: just noticed what Kerrek was getting at, forgot to include this link: Bash script to automatically create symlinks to subdirectories in a tree
Ok, so so far I have this, based off of Kerrek's answer:
#!/bin/bash
SOURCE="/home/simon/testdir/src"
DEST="/home/simon/testdir/dest"
cd $DEST
find $SOURCE -type f -exec ln -s -- "{}" "{}" \;
exit
which gives the following:
ln: creating symbolic link `/home/simon/testdir/src/new.dir/a': File exists
ln: creating symbolic link `/home/simon/testdir/src/new.dir/b': File exists
ln: creating symbolic link `/home/simon/testdir/src/new.dir/c': File exists
however, it doesn't actually create the symlinks in the destination dir.
How about using
find
?