我试图在 awk 中使用 begin 语句,但不知何故,begin 语句打印在每条记录的顶部,而不是我想要的第一条记录。我不太确定为什么,如果有人能给我一些关于我的代码出了什么问题的意见,我将不胜感激。
awk 'BEGIN { OFS="\t" }{print "MARKER\tCHR\tBP\tEA\tNEA\tEAF\tP\tOR\tSE\tOR_95L\tOR95U\tN\tN_CASES\tN_CONTROLS\tSTRAND\tINFO\tHWE_P\tIMPUTED"}FNR>16 && $45!="NA" && $9>=0.4 { if ($1=="---") print $2,"'"$chr"'",$4,$6,$5,$45,$42,$48,$43,$44,$18,$23,$28,"+",$9,$33,"0" ; else print $2,"'"$chr"'",$4,$6,$5,$45,$42,$48,$43,$44,$18,$23,$28,"+",$9,$33,"1" }' ./out/expected_dcct_1kg_only${chr}_${chunk}.res > ./temp/expected_dcct_1kg_chr${chr}_${chunk}.tmp
Run Code Online (Sandbox Code Playgroud)
我希望看到这一行:
标记 Chr BP .... 1
仅在第一行,但不知何故似乎为每条记录打印。
这是输出的快照:
MARKER CHR BP EA NEA EAF P OR SE OR_95L OR95U N N_CASES N_CONTROLS STRAND INFO HWE_P IMPUTED
MARKER CHR BP EA NEA EAF P OR SE OR_95L OR95U N N_CASES N_CONTROLS STRAND INFO HWE_P IMPUTED
MARKER CHR BP EA NEA EAF P …
Run Code Online (Sandbox Code Playgroud) 谁能告诉我以下提交脚本的方式之间的区别:
$ qsub script_name.sh
Run Code Online (Sandbox Code Playgroud)
和
./script_name.sh
Run Code Online (Sandbox Code Playgroud)
以上两种提交作业到集群的方式有什么区别?
还有为什么有时我需要输入:
$ chmod +x script_name.sh
Run Code Online (Sandbox Code Playgroud)
...在我可以输入./script_name.sh
以提交工作之前?为什么有时我只需要打字qsub script_name.sh
?
抱歉,我对 Unix 不是很熟悉。