pstree с использованием графических символов VT100

$  awk '{ split($(NF-1),a,/\//) } { split($NF,b,/\//) } a[1]/a[2] > 0.01 || b[1]/b[2] > 0.01 { print $1, $2 }' file.in
2L 10000133
2L 10000374

Это разбивает последние два поля по отдельности на символ /и сохраняет части в двух массивах aи b. Если какое-либо из делений при выполнении дает число больше 0,01, выводятся два первых поля.

$NF— значение последнего поля (столбца )во входной записи (строки ). и $(NF-1)— предпоследнее значение поля.


Проблема с вашим кодом в том, что вы делаете все в блоке BEGIN. Этот блок в основном предназначен для инициализации и будет выполняться до того, как какие-либо данные будут фактически считаны. Существует также проблема с выбранным значением FS, на которое указывают другие ответы.

Вам также не нужно заключать числа в кавычки, когда они используются в качестве чисел.

0
09.01.2019, 11:14
1 ответ

Это дает мне что-то очень похожее на набор для рисования линий vt100:

$ pstree -g 2 -U|less
0
28.01.2020, 04:04

Теги

Похожие вопросы