regex - 如何使用 find + regex 匹配文件并仅返回包含所述文件的唯一目录?

标签 regex linux find

这个查找命令匹配我正在搜索的文件:

find / -type f -regextype sed -regex ".*/g\.[0-9]\{4\}.*"

如何进入下一步,仅列出包含这些文件的唯一目录名称? (我不需要显示所有文件。)

最佳答案

将输出通过管道传输到删除文件名的 sed 命令,然后使用 uniq 删除重复项:

find / -type f -regextype sed -regex ".*/g\.[0-9]\{4\}.*" | sed 's|/[^/]*$||' | uniq

关于regex - 如何使用 find + regex 匹配文件并仅返回包含所述文件的唯一目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21641030/

相关文章:

regex - 用逗号分隔的多个 ip 的正则表达式

linux - set - something 是如何工作的?

bash - 使用 sed、shell 或其他方式进行内联文本替换

sql-server - SQL Replace 函数中的正则表达式模式?

javascript - 用于在两组字符之间提取文本的正则表达式 (Javascript)

Linux:我可以在哪里 secret 存储数据以实现限时演示?

regex - 使用正则表达式查找具有确切扩展名的文件(并且后面没有任何内容)

bash - find -exec 找不到本地函数 "find: Log: No such file or directory"

c# - .NET 将不可打印的 ASCII 替换为十六进制代码的字符串表示形式

linux - Bash 脚本问题检查命令输出