【发布时间】:2017-08-03 14:06:53
【问题描述】:
对于文件中的所有行(大约 30000),我想找到 开头的字符数 当前行的 与上一行相同。 例如输入:
#to
#top
/0linyier
/10000001659/item/1097859586891251/
/10000001659/item/1191085827568626/
/10000121381/item/890759920974460/
/10000154478/item/1118425481552267/
/10897504949/pic/89875494927073741108975049493956/108987352826059/?lang=3
/1175332/item/10150825241495757/
/806123/item/10210653847881125/
/51927642128/item/488930816844251927642128/341878905879428/
我希望:
0 #to
3 #top
0 /0linyier
1 /10000001659/item/1097859586891251/
19 /10000001659/item/1191085827568626/
6 /10000121381/item/890759920974460/
7 /10000154478/item/1118425481552267/
3 /10897504949/pic/89875494927073741108975049493956/108987352826059/?lang=3
2 /1175332/item/10150825241495757/
1 /806123/item/10210653847881125/
1 /51927642128/item/488930816844251927642128/341878905879428/
我正在尝试通过将字符串解包为字符并计数直到第一次不匹配来在perl 中工作,但我想知道使用awk 或perl 的内置函数是否有一些不太慢的方法。
更新:我已添加我的尝试作为答案。
【问题讨论】:
标签: perl awk command-line