1

我有一个包含我的应用程序的文件夹。然后我在另一个目录中拥有灵活数量的文件夹,称为“站点”。它看起来像这样:

+ -Application
+ -- Test.html
+ -- CSS
+ --- Style.css

+ -Sites 
+ --Site1
+ --Site2

我想将应用程序文件夹中的所有文件符号链接到站点文件夹下的每个文件夹中。因此,最终结果将如下所示:

+ -Sites 
+ --Site1
+ -- Test.html
+ -- CSS
+ --- Style.css
+ --Site2
+ -- Test.html
+ -- CSS
+ --- Style.css

所以我认为第一步是循环在 Sites 文件夹中找到的所有文件夹,然后对文件夹中的所有内容执行符号链接。我不能真正编码,但从我的阅读来看,这样的东西可能是一个起点?

find ./* -type d |
while read LINE
do
        echo ln -s /absolute/path/to/files/* "$LINE"
done
4

2 回答 2

2
for dir in Sites/*; do
    cd "$dir" && ln -s ../../Application/* . && cd -
done
于 2012-09-26T20:10:14.713 回答
0

它非常简单直观。你可以让它进入每个站点并执行:

ln -s ../../Application/* .

您可以使用 AWK(从根目录)为所有“站点”运行它:

ls -l | awk '$1 ~ /d.*/ && $NF !~ /Application/ && NF > 5 {system("cd "$NF" ; ln -s ../../Application/* .");}' -

描述:列出文件,获取目录(/d.*/),忽略应用程序文件夹,转到每个文件夹(cd $NF)并执行“魔术线”。

于 2012-09-26T18:51:36.113 回答