Awk
在管道中排序不起作用
我有很多這些文件,我想知道什麼是最高的記憶體消耗(Mem)
$ cat utg006012l-racon-2.fasta.o5230935 [racon::Polisher::initialize] loaded target sequences 0.013133 s [racon::Polisher::initialize] loaded sequences 6.667809 s [racon::Polisher::initialize] loaded overlaps 6.267742 s [racon::Polisher::initialize] aligning overlaps [=> ] 8.633518 s^M[racon::Polisher::initialize] aligning overlaps [==> ] 9.058757 s^M[racon::Polisher::initialize] aligning overlaps [===> ] 9.490215 s^M[racon::Polisher::initialize] aligning overlaps [====> ] 9.760396 s^M[racon::Polisher::initialize] aligning overlaps [=====> ] 10.008019 s^M[racon::Polisher::initialize] aligning overlaps [======> ] 10.332580 s^M[racon::Polisher::initialize] aligning overlaps [=======> ] 10.681680 s^M[racon::Polisher::initialize] aligning overlaps [========> ] 11.022209 s^M[racon::Polisher::initialize] aligning overlaps [=========> ] 11.350026 s^M[racon::Polisher::initialize] aligning overlaps [==========> ] 11.675731 s^M[racon::Polisher::initialize] aligning overlaps [===========> ] 12.004713 s^M[racon::Polisher::initialize] aligning overlaps [============> ] 12.330591 s^M[racon::Polisher::initialize] aligning overlaps [=============> ] 12.650907 s^M[racon::Polisher::initialize] aligning overlaps [==============> ] 12.965631 s^M[racon::Polisher::initialize] aligning overlaps [===============> ] 13.271211 s^M[racon::Polisher::initialize] aligning overlaps [================> ] 13.553430 s^M[racon::Polisher::initialize] aligning overlaps [=================> ] 13.825148 s^M[racon::Polisher::initialize] aligning overlaps [==================> ] 14.088558 s^M[racon::Polisher::initialize] aligning overlaps [===================>] 14.350089 s^M[racon::Polisher::initialize] aligning overlaps [====================] 14.598578 s [racon::Polisher::initialize] transformed data into windows 0.542441 s [racon::Polisher::polish] generated consensus 11154.363114 s [racon::Polisher::] total = 11183.003787 s ----- PBS Job 5230935.pbs CPU time : 03:05:52 Wall time : 03:06:38 Mem usage : 4960216kb
我用過
grep "Mem" *-racon-2.fasta.o* | cut -d':' -f3 | sed 's|kb||'| sed 's|b||' |awk '{print $1}' | sort
,但它沒有對輸出進行排序582384 5832 5832 584004 584552 584928 585008 585144 585416 586164 586252 587792 588196 588852 589204 58992 590336 590704 591184 592112 5928 5932 593700 59420 59476 595128 595696 596356 5968 59696 597772 599356 59972 6012 60300 6032 60404 604240 60528 6064 606544 607448 608080
我錯過了什麼?
先感謝您
cut -d':' -f3
將從一行中提取 3rd:
-delimited 欄位,但您應用它的行看起來像Mem usage : 4960216kb
即,它只有兩個欄位:
Mem usage
, 和4960216kb
.為了避免冗長的管道,您可以改用
sed -n '/^Mem/s/[^[:digit:]]*//gp' *-racon-2.fasta.o* | sort -n
這使用單個
sed
呼叫來提取以字元串開頭的行,Mem
並通過刪除這些行上不是數字的所有內容來刪除數字。然後它將提取的數字傳遞sort -n
給數字排序。這相當於
grep '^Mem' *-racon-2.fasta.o* | tr -d -c '[:digit:]\n' | sort -n