目录过滤

时间:2015-10-17 07:56:14

标签: linux directory virtual updating

在linux中,我希望创建一个动态的虚拟目录...可能很难在文本中解释我希望这里的图形能够实现。

我想使用以下目录内容创建一些额外的目录,这些目录与源目录中的文件保持同步。

/home/<user>/SRC_Directory
1.txt
1.src
2.txt
3.txt
4.src
2.jpg
2.abc

我希望上面目录中的文件自动分解为类似下面的示例,因为文件已添加到SrcDirectory中。同时将已分发的文件符号链接回主目录中的文件,以便我有一个包含所有文件的完整目录,并且不会占用大量文件空间。

/home/<user>/TxtFilesOnly
1.txt
2.txt
3.txt


/home/<user>/ABCFilesOnly
2.abc


/home/<user>/JPGFilesOnly
2.jpg


/home/<user>/SRCFilesOnly
1.src
4.src

1 个答案:

答案 0 :(得分:0)

这是一个让你入门的例子:

cd /home/SRC_Directory
for file in *; do
    ext=${file#*.}  # get the extension, by stripping everything up to a "."
    ext_upper=${ext^^}
    target_dir=/home/${ext_upper}FilesOnly
    mkdir -p "$target_dir"
    [ -e "$target_dir/$file" ] || ln -s "$PWD/$file" "$target_dir/"
done

我希望这些步骤不言自明, 并且您将能够根据您的需要进行定制。

相关问题