awk命令简介

2018-07-24  本文已影响0人  43b8e63c4c9f

在今天的工作中,我想从文件file1中读取某一列。如果在以前,碰到这样的问题,我一定会通过如下语句实现:

new = []

with open(file1, 'r') as f:

        for line in f.readlines():

                new.append(line.strip().split('\t')[col])

那么有没有更为快速的方法呢?答案就是awk命令。对于上面这几行代码所实现的功能,awk只需一行代码就可以搞定:

awk '{print $col > "output.txt"}' file1.txt

如果我们想合并两个具有相同行数的文件a和b,也可以通过awk命令实现:

awk 'NR==FNR{a[NR]=$0;nr=NR;}NR>FNR{print a[NR-nr]"\t"$0 > "output.txt"}' a.txt b.txt

上一篇下一篇

猜你喜欢

热点阅读