linux - 列出多个目录内容及其路径

标签 linux bash

我想编写一个 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/

相关文章:

c - Ubuntu : sem_timedwait not waking (C)

python 从内核日志中读取最后三行

bash - 从 bash 脚本中执行的进程将 PID 输出到文件?

linux - 无法在 bash 中分配变量。获取命令未找到错误

linux - 使用 bash 将命令的每一行转储到不同的变量中

c - 将从数据库读取的数据值写入C程序中的变量: (Sqlite database is used with c interface)

bash - 在带有路径的文件名前面添加 test_

python - 如何使用 python subprocess.call,将 stdout 的副本发送到日志文件,同时检测第一个命令的结果

android - 模拟器不关闭 Ubuntu

bash - 当使用空参数运行 grep 时,为什么 "while read"循环会停止?