列出字符串,这些字符串是列表中其他字符串的子字符串

问题溢出

我有一个这样的名字列表:

dog_bone
dog_collar
dragon
cool_dragon
lion
lion_trainer
dog

我需要提取出现在其他名称中的名称,如下所示:

dragon
lion
dog

我浏览了uniq手册页,但似乎是比较整行而不是字符串。有什么方法可以通过bash函数执行此操作吗?

斯蒂芬·查泽拉斯(Stephane Chazelas)
file=/the/file.txt
while IFS= read -r string; do
  grep -Fe "$string" < "$file" | grep -qvxFe "$string" &&
    printf '%s\n' "$string"
done < "$file"

在文件的每一行运行一个read,两个grep甚至是一个printf命令,因此效率不高。

您可以通过一次awk调用完成全部操作

awk '{l[NR]=$0}
     END {
       for (i=1; i<=NR; i++)
         for (j=1; j<=NR; j++)
           if (j!=i && index(l[j], l[i])) {
             print l[i]
             break
           }
     }' < "$file"

尽管这意味着整个文件都存储在内存中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在球拍中列出字符串

来自分类Dev

搜索并替换不是其他字符串的子字符串的字符串

来自分类Dev

在R中,删除字符串中所有其他字符的子字符串

来自分类Dev

确定字符串列表是否包含其他列表中所有字符串的子字符串

来自分类Dev

在字符串列表中,如何删除属于列表中其他字符串的字符串?

来自分类Dev

在不更改列表原始顺序的情况下,删除列表中其他字符串的子字符串的字符串吗?

来自分类Dev

选出字符串中的单词

来自分类Dev

从字符串列表中删除子字符串

来自分类Dev

从字符串的“列表”中提取子字符串

来自分类Dev

从字符串输出字母字符

来自分类常见问题

给定的字符串列表仅返回未包含在其他字符串中的字符串

来自分类Dev

给定的字符串列表仅返回未包含在其他字符串中的字符串

来自分类Dev

在PHP子字符串中返回 这些字符类型?

来自分类Dev

在PHP子字符串中返回 这些字符类型?

来自分类Dev

字符串与字符[]

来自分类Dev

如何从字符串中删除子字符串?

来自分类Dev

字符串中的NSPredicate子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

计算字符串中的子字符串

来自分类Dev

从Liquid中的字符串获取子字符串?

来自分类Dev

SQLAlchemy子字符串在字符串中

来自分类Dev

从字符串输出中查找子字符串

来自分类Dev

字符串中的SQL子字符串

来自分类Dev

Python从字符串中删除子字符串

来自分类Dev

python中字符串的子字符串

来自分类Dev

从字符串中获取特定的子字符串

来自分类Dev

熊猫:替换字符串中的子字符串

来自分类Dev

反向标记字符串中的子字符串

来自分类Dev

在字符串中查找子字符串

Related 相关文章

热门标签

归档