regex - 从目录树列表中过滤特定行

标签 regex bash sed awk

我有以下目录列表:

    /home/a/b/c/d/5089/294265
    /home/a/b/c/d/5089/79783
    /home/a/b/c/d/41630
    /home/a/b/c/d/41630/293520
    /home/a/b/c/d/41630/293520/293520
...

我只想过滤 7 个目录深度的行。在此示例中,我只需要以下行:/home/a/b/c/d/41630/293520/293520

请提出建议。 谢谢

最佳答案

您可以使用grep。说:

grep -P '(/[^/]*){8}' inputfile

会返回

/home/a/b/c/d/41630/293520/293520

不确定如何生成此列表,但如果您使用 find,则可以通过指定 -mindepth-maxdepth 来控制深度> 选项。

关于regex - 从目录树列表中过滤特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677308/

相关文章:

递归地使文件中的所有文本小写的 Bash 脚本

linux - 解析和替换两个文件中的一些字符串

regex - 在 Lua 中使用正则表达式查找前导星号

c - 如何更快地检查正则表达式列表

Java - 读取文本文件

java - 将 Java 字符串从全部大写(单词之间用下划线分隔)转换为 CamelCase(无单词分隔符)的最简单方法是什么?

linux - 如何记录 bash 脚本中启动的作业的 pid

linux - 可执行文件关闭后在 bash 中执行一些命令?

Linux:如何在别名中添加 $ 符号?

sed - 使用 Sed 时排除行范围