Nếu tôi có một tệp có vài cột và tôi muốn sử dụng lệnh AWK để hiển thị số lớn nhất và số thấp nhất trong một cột cụ thể!Sử dụng AWK để tìm số nhỏ nhất và lớn nhất trong một cột?
dụ:
a 212
b 323
c 23
d 45
e 54
f 102
Tôi muốn lệnh của tôi để chứng minh rằng số lượng thấp nhất là 23 và lệnh khác để nói rằng số cao nhất là 323
Tôi không có ý tưởng tại sao câu trả lời không làm việc ! Tôi đặt một ví dụ thực tế hơn về tập tin của tôi (có lẽ tôi nên đề cập đến đó là tab xác định)
##FORMAT=<ID=DP,Number=1,Type=Integer,Description="# high-quality bases">
##FORMAT=<ID=SP,Number=1,Type=Integer,Description="Phred-scaled strand bias P-value">
##FORMAT=<ID=PL,Number=-1,Type=Integer,Description="List of Phred-scaled genotype likelihoods, number of values is (#ALT+1)*(#ALT+2)/2">
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT rmdup_wl_25248.bam
Chr10 247 . T C 7.8 . DP=37;AF1=0.5;CI95=0.5,0.5;DP4=7,1,19,0;MQ=15;FQ=6.38;PV4=0.3,1,0.038,1 GT:PL:GQ 0/1:37,0,34:36
Chr10 447 . A C 75 . DP=30;AF1=1;CI95=1,1;DP4=0,0,22,5;MQ=14;FQ=-108 GT:PL:GQ 1/1:108,81,0:99
Chr10 449 . G C 35.2 . DP=33;AF1=1;CI95=0.5,1;DP4=3,2,20,3;MQ=14;FQ=-44;PV4=0.21,1.7e-06,1,0.34 GT:PL:GQ 1/1:68,17,0:31
Chr10 517 . G A 222 . DP=197;AF1=1;CI95=1,1;DP4=0,0,128,62;MQ=24;FQ=-282 GT:PL:GQ 1/1:255,255,0:99
Chr10 761 . G A 27 . DP=185;AF1=0.5;CI95=0.5,0.5;DP4=24,71,8,54;MQ=20;FQ=30;PV4=0.07,8.4e-50,1,1 GT:PL:GQ 0/1:57,0,149:60
Chr10 1829 . A G 3.01 . DP=74;AF1=0.4998;CI95=0.5,0.5;DP4=18,0,54,0;MQ=19;FQ=4.68;PV4=1,9.1e-12,0.003,1 GT:PL:GQ 0/1:30,0,45:28
tôi nên nói rằng tôi đã thêm trừ dòng bắt đầu bằng # vì vậy đây là lệnh mà tôi sử dụng:
awk '$1 !~/#/' | awk -F'\t' 'BEGIN{first=1;} {if (first) { max = min = $6; first = 0; next;} if (max < $6) max=$6; if (min > $6) min=$6; } END { print min, max }' wl_25210_filtered.vcf
awk '$1 !~/#/' | awk -F'\t' 'BEGIN{getline;min=max=$6} NF{ max=(max>$6)?max:$6 min=(min>$6)?$6:min} END{print min,max}' wl_25210_filtered.vcf
và
awk '$1 !~/#/' | awk -F'\t' '
NR==2{min=max=$6;next}
NR>2 && NF{
max=(max>$6)?max:$6
min=(min>$6)?$6:min
}
END{print min,max}' wl_25210_filtered.vcf
vấn đề là tôi có thẻ trên đầu mỗi cột và khi tôi chạy tất cả các dòng mà bạn đã đưa ra. Tôi luôn nhận được thẻ in – mahmood
Xem câu trả lời cập nhật của tôi và đăng một ví dụ tốt hơn vào lần sau. – Chris
Kiểm tra câu trả lời cập nhật của tôi. –