我有一个标准输出或文件无关紧要:
mela
pera
banana
caffè
mela
pera
banana
caffè
mela
pera
banana
caffè
我只想删除最后一次出现的“ mela
”,使用perl
:
mela
pera
banana
caffè
mela
pera
banana
caffè
pera
banana
caffè
我该怎么做?
我有一个标准输出或文件无关紧要:
mela
pera
banana
caffè
mela
pera
banana
caffè
mela
pera
banana
caffè
我只想删除最后一次出现的“ mela
”,使用perl
:
mela
pera
banana
caffè
mela
pera
banana
caffè
pera
banana
caffè
我该怎么做?
-n
逐行读取输入(文件或标准输入)。不是打印每一行,而是将这些行推入缓冲区。当你遇到 时mela
,你会$i
指向它在缓冲区中的位置。再次遇到mela
时,将缓冲区的第一部分打印到上一个mela
. 在输入结束时,您打印缓冲区,除了mela
由 . 指向的最后一个缓冲区$i
。未针对边缘情况进行测试(几个
mela
s 相互跟随,mela
在第一行/最后一行等)在独立的 Perl 程序中:
或者作为高级用户的单线,在行动中: