result"('cut' 失败)-6ren"> result"('cut' 失败)-我需要多个文件中每一行的第二个字段。 '切'没有工作,因为有些行有前导空格。 perl -anle 'print $F[1]' *manyfiles* > result 可以工作,但是速度很慢。 有没-6ren">
gpt4 book ai didi

perl - 更快的方法来做 "perl -anle ' 打印 $F[1 ]' *manyfiles* > result"('cut' 失败)

转载 作者:行者123 更新时间:2023-12-04 23:07:55 32 4
gpt4 key购买 nike

我需要多个文件中每一行的第二个字段。 '切'没有工作,因为有些行有前导空格。

perl -anle 'print $F[1]' *manyfiles* > result 

可以工作,但是速度很慢。

有没有明显更快的方法来做到这一点?

最佳答案

我猜测自动拆分模式很慢,因为拆分一行得到的整个数组必须存储在内存中。如果您的文件行很长,这一点尤其重要。这个怎么样:

perl -ne 'print $1, "\n"if m/^\s*\S+\s+(\S+)/'

这里我们不处理超出第二个单词的行部分。您还可以在使用 indexsubstr 代替正则表达式时测试性能。

关于perl - 更快的方法来做 "perl -anle ' 打印 $F[1 ]' *manyfiles* > result"('cut' 失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056595/

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