在今天的工作中搜囱,我想從文件file1中讀取某一列宣旱。如果在以前选脊,碰到這樣的問題现诀,我一定會通過如下語句實(shí)現(xiàn):
new = []
with open(file1, 'r') as f:
? ? ? ? for line in f.readlines():
? ? ? ? ? ? ? ? new.append(line.strip().split('\t')[col])
那么有沒有更為快速的方法呢?答案就是awk命令鞍时。對于上面這幾行代碼所實(shí)現(xiàn)的功能亏拉,awk只需一行代碼就可以搞定:
awk '{print $col > "output.txt"}' file1.txt
如果我們想合并兩個具有相同行數(shù)的文件a和b,也可以通過awk命令實(shí)現(xiàn):
awk 'NR==FNR{a[NR]=$0;nr=NR;}NR>FNR{print a[NR-nr]"\t"$0 > "output.txt"}' a.txt b.txt