簡體   English   中英

如何將awk與循環結合

[英]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

您不需要循環,只需zcatawk

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM