[英]how to combine awk with a loop
我正在使用awk選擇文件的第1列中分別包含1到18的行。 我按照以下方式使用命令行,但輸出文件中什么也沒有。 因此,任何人都知道如何修改命令行? 先感謝您!
for k in `seq 1 18`; do zcat qc.vcf.gz | grep -v "^#" | awk '{if($1==$k) print$0}' > test${k}; done
您不需要循環,只需zcat
和awk
:
zcat qc.vcf.gz | awk '!/^#/{f="test"$1; print > f; close(f)}'
awk命令說明:
!/^#/ {
f = "test"n # The (f)ilename of the output file
print >> f # Print current line to output file
close(f) # Close output file
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.