При каких обстоятельствах исполняемый файл, впервые найденный в пути, не будет использоваться

Это должно работать:

awk -v max=0 '{if($1>max){want=$2; max=$1}}END{print want} ' version.log

-v max = 0 устанавливает переменную max на ] 0 , затем для каждой строки первое поле сравнивается с текущим значением max . Если он больше, max устанавливается в значение 1-го поля, а want устанавливается в текущую строку.Когда программа обработает весь файл, печатается текущее значение want .

Править

Я не тестировал решение awk раньше, и мне было очень плохо, что я его предоставил. В любом случае, отредактированная версия ответа должна работать (спасибо terdon за ее исправление), и я также протестировал приведенный ниже.

sort -nrk1,1 filename | head -1 | cut -d ' ' -f3

Я использую sort в первом поле, где

  • -n указывает числовую сортировку.
  • -r указывает обратный результат сортировки.
  • -k1,1 указывает первое поле для выполнения сортировки.

Теперь, после сортировки, я передаю вывод по конвейеру и получаю только первый результат, который даст мне самое большое числовое значение для столбца 1 в результате.

Теперь я, наконец, передаю его по конвейеру cut с разделителем, указанным как пробел, и печатаю -f3 , который является предполагаемым результатом.

Тестирование

cat filename
112030   /opt/oracle/app/oracle/product/11.2.0
121010   /opt/oracle/app/oracle/product/12.1.0
2312     /hello/some/other/path
3423232  /this/is/really/big/number
342      /ok/not/the/maximum/number
9999899  /Max/number
9767     /average/number

Теперь, после того как я запустил указанную выше команду для ввода, как указано выше, я получаю вывод как

/Max/number
15
05.12.2017, 10:42
0 ответов

Теги

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