目录过滤

Directory Filtering

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

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

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

我希望上面目录中的文件在文件添加到 SrcDirectory 时自动拆分为类似于下面示例的内容。还将分解的文件符号链接回主目录中的文件,这样我就有了一个包含所有文件的完整目录,并且不会占用大量文件 space.

/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

这是一个让您入门的示例:

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

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