Как получить любые значения по типу в sed - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть некоторые значения:

hybrisServer-Platform-1.1.2275-develop.zip
hybrisServer-Platform-1.1.2273-saphana-develop.zip
hybrisServer-Platform-1.1.2274-saphana-develop.zip
hybrisServer-Platform-1.1.2275-develop.zip
hybrisServer-Platform-1.1.2276-saphana-develop.zip
hybrisServer-Platform-1.1.2277-develop.zip
hybrisServer-Platform-1.1.2278-saphana-develop.zip

Как я могу grep последняя сборка только с (без разработки saphana), например:

hybrisServer-Platform-1.1.2277-develop.zip

Это выражение записывается втолько файл hybrisServer-Platform-1.1.2278-saphana-develop.zip

$ curl -s http://<ip address>:8081/artifactory/hybris-snapshot-local/| sed -rn "s/.*Platform-(.*\develop.*)\.zip.*/\1/p" | sort | grep develop | tail -1 | tr -d "\n" > /opt/test1.out

Ответы [ 3 ]

1 голос
/ 26 апреля 2019

Пожалуйста, измените выражение grep как grep -v saphana-develop | tail -1, которое будет печатать только последнее измененное без saphana -velop

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

ТАК много вариантов, включая пару, о которой я пока не упоминал в других ответах:

$ grep '[0-9]-d' file | tail -1
hybrisServer-Platform-1.1.2277-develop.zip

$ awk -F'-' 'NF<5{v=$0} END{print v}' file
hybrisServer-Platform-1.1.2277-develop.zip
0 голосов
/ 26 апреля 2019

Возможно, вам нужна эта команда:

▶ grep -v saphana-develop FILE | sort -k3 -t- -V | tail -1 
hybrisServer-Platform-1.1.2277-develop.zip

В то время как вы, вероятно, замените grep на

▶ curl -s http://<ip address>:8081/artifactory/hybris-snapshot-local/ | \
    grep develop | grep -v saphana | sort -k3 -t- -V | tail -1

, хотя это не совсем понятно.

Объяснение:

  • Используя команду Unix sort, я указал -k3 (поле 3) и -t- (символ разделителя -) и -V - сортировка версиитак, чтобы сортировка по строке версии была разработана для вас.

  • Используйте grep -v saphana, чтобы отфильтровать строку, которую вы не хотите, как отмечали другие.

  • Судя по тому, что вы с ним делаете, команда sed вам вообще не нужна.

...