Как очистить / отформатировать вывод awk? - PullRequest
0 голосов
/ 10 апреля 2019

Попытка получить только последний номер версии, который всегда будет после "misc" от ftp: //ftp.adobe.com/pub/adobe/reader/mac/AcrobatDC/

Я мог бы исправить это с помощью «cut», но он может не придерживаться следующей последней версии, если время равно x: xx.

Текущий код:

latestver=`/usr/bin/curl -s -L "ftp://ftp.adobe.com/pub/adobe/reader/mac/AcrobatDC/" | /usr/bin/awk '/misc/ {print a}{a=$0}'`
    echo "Latest Version is: $latestver"

Выход:

Latest Version is: drwxrwxr-x    2 ftp      ftp           142 Apr 01 11:13 1901020099

Ожидаемый результат:

Latest Version is: 1901020099

Ответы [ 3 ]

2 голосов
/ 22 апреля 2019

Это должно сделать:

latestver=$(curl -s -L "ftp://ftp.adobe.com/pub/adobe/reader/mac/AcrobatDC/" | awk '$NF=="misc" {print f} {f=$NF}')
echo "$latestver"
1901020099

Как это работает:

  • $NF=="misc" проверяет, является ли последнее поле misc
  • {print f}затем выводит то, что находится в переменной f
  • {f=$NF} устанавливает f в последнее поле.

Поскольку f установлено после теста, оно всегда будет иметь предыдущее значениеВы ищете.

0 голосов
/ 22 апреля 2019

Вы можете использовать следующее:

$ latestver=$( wget -qO- ftp://ftp.adobe.com/pub/adobe/reader/mac/AcrobatDC/ | grep 'pub/adobe/reader/mac/AcrobatDC' | sed 's/.*">\(.*\)\/<.*/\1/g' | tail -2 | head -1 )
0 голосов
/ 10 апреля 2019

Не могли бы вы попробовать следующее (не проверено, поскольку curl не может быть проверено).

latestver=$(/usr/bin/curl -s -L "ftp://ftp.adobe.com/pub/adobe/reader/mac/AcrobatDC/" | /usr/bin/awk '/misc/{print $NF}')
echo "Latest Version is: $ltestver"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...