目录过滤
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
我希望这些步骤是不言自明的,
您将能够根据您的需要进行自定义。
在 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
我希望这些步骤是不言自明的, 您将能够根据您的需要进行自定义。