【发布时间】:2019-01-23 19:34:31
【问题描述】:
我正在从最初的大型数据集中对数据进行子集化。 我设法从这个原始数据中选择了我想要的新文件的列数,但随后尝试根据 if 语句进行进一步选择(要求我的新文件的第 28 列仅包含
awk 'BEGIN{FS="\t"} { for(i=125; i<=NF; ++i) printf $i""FS; print ""}' Bigfile.txt> Smallfile.txt
awk 'BEGIN{FS="\t"} {if($28<=5000) print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$28}' Smallfile.txt > Smallfile1.txt
第一行 awk 工作正常,从我的原始数据集中选择了我想要的 28 列。第二行不会让我进一步细分。我尝试删除 BEGIN,添加 ;在某些地方,并使用 -F"\t" 而不是 {FS="\t"}
【问题讨论】:
标签: shell unix if-statement awk