gpt4 book ai didi

regex - 尝试使用 BASH 删除段落中的重复项

转载 作者:行者123 更新时间:2023-12-03 09:50:17 25 4
gpt4 key购买 nike

嗨,我正在编写一个简单的 BASH 来删除由单个空格分隔的段落中任何单词的连续重复出现,并将输出重定向到标准输出,这是我得到的结果。

file1

**double double toil and trouble 
fire burn and cauldron bubble bubble
tomorrow and tomorrow and tomorrow
creeps in this this petty pace from day toto day**

echo `<file1` | sed -e 's/\b\([a-z ]\+\)\1/\1/g' | cat > file2

这是单行输出,如下所示。

double toil and trouble fire burn and cauldron bubble tomorrow and tomorrow creeps in this petty pace from day to day

并且遗漏了一些东西,因为它没有正确地删除事件。

最佳答案

你可以使用

sed 's/\b\([a-z]\+\)\s\1\b/\1/g' file > file1
sed 's/\b\([a-z]\+\)[[:space:]]\1\b/\1/g' file > file1

参见 online demo .正则表达式匹配

  • \b - 单词边界
  • \([a-z]\+\) - 第 1 组:任何一个或多个小写字母
  • [[:space:]]/\s - 一个空格
  • \1 - 与第 1 组相同的值
  • \b - 单词边界。

关于regex - 尝试使用 BASH 删除段落中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65042135/

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