【发布时间】:2011-03-31 21:22:35
【问题描述】:
我有很多大的(约 30 MB)带有可变宽度行的制表符分隔文本文件。我想从第 n 个(这里,n=4)和倒数第二行(最后一行为空)中提取第二个字段。我可以使用 awk 分别获取它们:
awk 'NR==4{print $2}' filename.dat
和(我不完全理解,但是)
awk '{y=x "\n" $2};END{print y}' filename.dat
但是有没有办法在一个电话中将它们聚集在一起?我更广泛的意图是将其包装在 Python 脚本中,以从单独目录中的大量文件(数千个)中获取这些值,并且我想减少系统调用的数量。非常感谢 -
编辑:我知道我可以使用 Python 读取整个文件以提取这些值,但我认为 awk 可能更适合该任务(与位于附近的两个值之一有关大文件的结尾)。
【问题讨论】:
标签: python awk text-processing