我需要从函数获取结果到变量,然后我想将结果作为新列附加到同一个文件中。我用下面的代码(例如,对于获得来自塔的最低值$ 2):将函数的结果设置为变量并附加 - 不一致
min="$(cut -f2 myfile.tsv | sort -n | head -1)"
awk -v min=$min '{print $0 "\t" min}' myfile.tsv > myfile_min.tsv
输入数据例如:
Backbone_1000 375 T X
Backbone_1000 424 T EQ
Backbone_1000 428 G EQ
Backbone_1000 440 G EQ
Backbone_1000 462 G EQ
Backbone_1000 477 C EQ
Backbone_1000 483 T EQ
Backbone_1000 492 C EQ
Backbone_1000 493 C EQ
Backbone_1000 503 G EQ
预期输出:
Backbone_1000 375 T X 375
Backbone_1000 424 T EQ 375
Backbone_1000 428 G EQ 375
Backbone_1000 440 G EQ 375
Backbone_1000 462 G EQ 375
Backbone_1000 477 C EQ 375
Backbone_1000 483 T EQ 375
Backbone_1000 492 C EQ 375
Backbone_1000 493 C EQ 375
Backbone_1000 503 G EQ 375
我的问题是,它有时可以工作,下次不可以。这是我提交给群集的更长程序的一部分。目前,我收到以下错误:
awk: cmd. line:1: fatal: cannot open file `A' for reading (No such file or directory)
我在寻找什么,我们有一个集群上,到目前为止,我设法找到:
2.6.18-411.el5 GNU/Linux
谁能解释一下是哪里的问题或建议另一种解决方案?
请填写一些示例数据和预期结果。 –
你有“myfile.tsv”作为变量吗?它是在“双引号”之间吗? – fredtantini
你显示的代码看起来很好。但是,在真实代码中的某处,会有一些变量与文件名无关。 – fedorqui