perl删除连续的重复行

2023-11-29

我想删除连续的重复行。即例如

**test.txt**
car
speed is good
bike 
slower than car
plane
super fast
super fast
bullet train 
super fast

这将删除除第一次出现之外的所有重复行。

perl -ne 'print unless $a{$_}++'

但我希望输出是

    **test.txt**
    car
    speed is good
    bike 
    slower than car
    plane
    super fast
    bullet train 
    super fast

我尝试了这一行,但这不会做任何事情,只是打印输入。

perl -00 -F'<\w+>|</\w+>' -i.bak -lane 'foreach(@F){if ($_=~/\w+/ && ($a ne $_)){print "$_";$a=$_;}}'

这个怎么做???


你为什么不直接使用uniq?

uniq file.txt

Results:

car
speed is good
bike 
slower than car
plane
super fast
bullet train 
super fast

你也可以这样做awk:

awk 'line != $0; { line = $0 }' file.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

perl删除连续的重复行 的相关文章

随机推荐