【发布时间】:2018-05-27 23:54:25
【问题描述】:
这与问题“remove duplicate lines with similar prefix”非常相似,但反过来:
给定一个 排序 字符串(在本例中为目录)的输入,例如:
a/
a/b/c/
a/d/
bar/foo/
bar/foo2/
c/d/
c/d/e/
我想从输出中删除行,如果前一行是当前行的前缀。在这种情况下,输出将是:
a/
bar/foo/
bar/foo2/
c/d/
这在 Python 等中很容易编写代码,但在这种情况下,我处于 shell 环境中(bash、sort、sed、awk...)。 (重新排序就可以了。)
【问题讨论】:
-
a/b/c/是a/d/的前缀吗? -
由于
a/存在a/d/不应存在于输出中。