【发布时间】:2014-05-27 12:12:12
【问题描述】:
您好,我有这个文本文件:
chr1 30.3
chrx 30.5
chr3 31.3
chr4 31.7
chrX 33.6
chr1 34.1
我想得到:
30 - 31 2
31 - 32 2
32 - 33 0
33 - 34 1
34 - 35 1
我正在尝试使用此 bash 和 awk 代码,但它不起作用。你能帮帮我吗?
#!/bin/bash
for i in {30..60..1}
do
h=$i
let "h += 1"
export i
export h
awk -v g=$i -v c=$h '{if ($3 >= $g && $3< $c) print $0}' /home/filip/Desktop/AMrtin\ Hynek/doktor.txt | awk 'END{print $i"-"$h,"\t",NR}'
done
【问题讨论】:
-
除非您的输入文件有更多内容,否则这些数字似乎是列/字段
$2而不是$3,就像您在 awk 脚本中那样。您还应该更具体地说明您的尝试到底是什么不起作用(以及您获得的输出而不是您想要获得的输出)。