gpt4 book ai didi

regex - 在 bash 中匹配具有一定数量的唯一字符的字符串

转载 作者:行者123 更新时间:2023-12-04 02:38:26 25 4
gpt4 key购买 nike

我需要删除文件中唯一字符少于 4 个的所有字符串

输入:

hello
cabby
pabba
lokka
lappa
coool
apple

预期输出:

hello
cabby
lokka
apple

我试图想出一个正则表达式来做到这一点,但我什至想不出它怎么可能。我确实找到了一个看起来很有前途的 sed 命令,它删除了所有重复的字符。但是,我不确定如何编写 sed 来测试程序是否返回 4 个字符,如果是,则匹配原始字符串。sed ':1;s/\(\(.\).*\)\2/\1/g;t'

最佳答案

使用 gnu awk:

awk 'BEGIN{FS=""} {
unq=0; delete seen; for (i=1; i<=NF; i++) if (!seen[$i]++) unq++} unq > 3' file

hello
cabby
lokka
apple

FS="" 在 awk 中将每个字符分成一个单独的字段。

关于regex - 在 bash 中匹配具有一定数量的唯一字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com