排除只有一个唯一字符 BASH 的单词



我试图排除只有一个唯一字符的单词(例如iiii,AAA)。单词将通过 txt 文件输入。我想它可能可以用 REGEX 完成,看看,但是我不太了解 REGEX,我无法弄清楚。

您可以提取作品的第一个字母,然后使用它来构造一个正则表达式,该正则表达式与该字母的 1 次或多次匹配。

while IFS= read -r word; do
    [[ $word =~ ^"${word:0:1}"+$ ]] && continue
    ...
done <<EOF
word1
word2
word3
...
EOF

GNU grep 支持PCRE:

 grep -P -v '^(.)1*$'
  • -P 聚氯乙烯
  • -v反相匹配:滤波器匹配线

  • ^行锚点的开头,空字符串

  • .匹配任何字符
  • 1是对()之间第一组的反向引用
  • $行锚点的开头,空字符串

最新更新