awk
решение. Подозреваю, что это немного длинно -затянуто.
$ awk 'BEGIN{RS="|"}NF>1{print substr(gensub(/\n/,",","g"),2,length($0)-2)}' file
9000,3000,1000,0000,0000,2000,1000,2000
5669000,518000,3000,16000,0000,28000,2241000,2841000
9020000,453000,520000,4000,2852000,5191000,75000
$
... | awk '
$2 >= 98 {c++; m[$1]}
END { if (c >=2 ) for(i in m) print i }' | xargs -r kill -9
Сохраните процесс, сжигающий много ресурсов в массиве, и распечатайте их только в том случае, если более n
процессов превышают пороговое значение, в противном случае не печатайте ничего.
Опция -r
предписывает xargs
завершить работу без выполнения команды, если аргумент не задан. В противном случае выполните kill
.