我想编写一个 linux 脚本或命令来:
查看多个特定目录并列出其内容
例如
/test/dir1/abc/version1/program_name/
/test/dir1/abc/version2/program_name/
/test/dir1/abc/version3/program_name/
/test/dir1/bca/version1/program_name/
/test/dir1/bca/version2/program_name/
/test/dir1/bca/version3/program_name/
/test/dir1/cab/version1/program_name/
/test/dir1/cab/version2/program_name/
/test/dir1/cab/version3/program_name/
我可以做一个
ls -al /test/dir1/*/
并查看其内容。但我只想看看 version2 和 version3 里面有什么。
例如
ls -al /test/dir1/*/<version2 or version3>/*
并获得如下列表:
/test/dir1/abc/version2/program_name/
/test/dir1/abc/version3/program_name/
/test/dir1/bca/version2/program_name/
/test/dir1/bca/version3/program_name/
/test/dir1/cab/version2/program_name/
/test/dir1/cab/version3/program_name/
不包括版本 1。目录多于 version1、version2 和 version3。这就是为什么仅排除 version1 不起作用的原因。
非常感谢任何帮助!
最佳答案
你想为这个搜索使用两个 glob 扩展。试试这个:
ls -al /test/dir1/*/version[23]/*
它将搜索所有/test/dir1/* 目录,然后查找与“version2”或“version3”匹配的子目录。
关于linux - 列出多个目录内容及其路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687970/