我在删除文件中的重复行并将其替换为非重复行时遇到问题。理想情况下,我只想将其替换为连续序列,以便可以分隔重复的行。
我正在考虑使用某种通配符 (*) 的 sed:
sed -e "s/text_pattern/text_pattern*/g" my_file.txt
这样每次返回时都会向 text_pattern 添加一个新数字。但是,我无法在手册页和互联网上找到合适的解决方案。有人知道如何做这样的事情吗?也许 sed 不是最好的选择?
谢谢!
最佳答案
Awk
似乎更适合这项任务。我假设您并不真正需要正则表达式,但想要将完整的行与固定字符串匹配。然后你可以这样做:
awk -v ln="text_pattern" '$0 == ln { $0 = $0 " " ++i };1' my_file.txt
关于regex - 如何找到一个模式,并以不同的方式替换它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031700/