我有许多大的(一个约 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 可能更适合该任务(必须处理位于附近的两个值之一大文件的末尾)。
请您参考如下方法:
awk 'NR==4{print $2};{y=x "\n" $2};END{print y}' filename.dat
