ディレクトリ内のファイル1つ1つに対して一気にシンボリックリンクを作成する

More than 1 year has passed since last update.

一部のファイルを修正してビルドしたい。でもマスター環境いじるわけにもいかないし、環境まるごとコピーするのも時間かかるし・・・そんなときに役立つコマンドがあります。

Usage(説明めんどくさいから最低限必要な分だけ)
lndir fromdir [ todir ]

lndir は、リンク元ディレクトリの中にあるファイル1つ1つに対してシンボリックリンクを作成します。
なお、リンク元ディレクトリの中にサブディレクトリがあった場合、リンク先ディレクトリにサブディレクトリを作成します。そしてその作成したサブディレクトリの中に、リンク元サブディレクトリ内のファイルへのシンボリックリンクを作成します。
(リンク元ディレクトリに対するシンボリックリンクを作成するわけではない)

使用例
$ find dir_src -type f         # リンク元のファイル一覧を表示
dir_src/data1
dir_src/data2
dir_src/subdir/data3
dir_src/subdir/data4
$ 
$ mkdir dir_dest               # あらかじめディレクトリを作成しておく
$ lndir $PWD/dir_src dir_dest  # リンク元は絶対パスにする
$ 
$ ls -F dir_dest/*             # 作成されたシンボリックリンクの一覧を表示
dir_dest/data1@ dir_dest/data2@

dir_dest/subdir:
data3@ data4@

(2016/08/05 追記)
lndirのsh見つけたので置いときます

https://opensource.apple.com/source/X11/X11-0.46.4/lndir.sh