Загрузка файла с помощью инструмента командной строки на виртуальной машине Linux, для которой требуется знак -в

Шаблон должен совпадать со всем именем, а не только с префиксом имени.

Ayне соответствует A*(xx), потому что он не состоит из A, за которым следует любое количество xx. yне соответствует шаблону. Ayсоответствует A*(xx)yи A*(xx)?и A*(xx)*.

Точно так же Axxxне совпадает с A*(xx), поскольку оно не состоит из A, за которым следует какое-либо количество xx. Axxxдействительно соответствует A*(x)(A, за которым следуют три раза x), A*(xx)x(A, затем один раз xx, затем x), A*(xx)?, A*(xx)*и т. д.

2
17.11.2020, 11:18
1 ответ

Файлы UMLS можно загружать программно с помощью токенов API. Процедура описана здесь:https://documentation.uts.nlm.nih.gov/automating-downloads.html

  • Шаг 1 :Получите ключ API из своего профиля UMLS. Вы можете найти ключ API в разделе «Мой профиль» UTS после входа в систему.
  • Шаг 2 :используйте приведенный ниже сценарий для загрузки необходимых файлов:
#!/bin/bash

export apikey=$1
export DOWNLOAD_URL=$2

export CAS_LOGIN_URL=https://utslogin.nlm.nih.gov/cas/v1/api-key


if [ $# -eq 0 ]; then echo "Usage: download.sh apikey download_url"
                      echo "  e.g. download.sh e33c59db-1234-abcd-efgh-0117ab2cd5gh2  https://download.nlm.nih.gov/umls/kss/rxnorm/RxNorm_full_current.zip"
                      echo "       download.sh e33c59db-1234-abcd-efgh-0117ab2cd5gh2 https://download.nlm.nih.gov/umls/kss/rxnorm/RxNorm_weekly_current.zip"
   exit
fi


if [ -z "$apikey" ]; then echo " Please enter you api key "
   exit
fi

if [ -z "$DOWNLOAD_URL" ]; then echo " Please enter the download_url "
   exit
fi


TGT=$(curl -d "apikey="$apikey -H "Content-Type: application/x-www-form-urlencoded" -X POST https://utslogin.nlm.nih.gov/cas/v1/api-key)

TGTTICKET=$(echo $TGT | tr "=" "\n")

for TICKET in $TGTTICKET
do
    if [[ "$TICKET" == *"TGT"* ]]; then
      SUBSTRING=$(echo $TICKET| cut -d'/' -f 7)
      TGTVALUE=$(echo $SUBSTRING | sed 's/.$//')
    fi
done
echo $TGTVALUE
STTICKET=$(curl -d "service="$DOWNLOAD_URL -H "Content-Type: application/x-www-form-urlencoded" -X POST https://utslogin.nlm.nih.gov/cas/v1/tickets/$TGTVALUE)
echo $STTICKET

curl -c cookie.txt -b cookie.txt -L -O -J $DOWNLOAD_URL?ticket=$STTICKET
rm cookie.txt

Сохраните приведенный выше скрипт в файл с именем download.shи его можно вызвать, как показано ниже:

$ bash download.sh e33c59db-1234-abcd-efgh-0117ab2cd5gh2  https://download.nlm.nih.gov/umls/kss/2020AB/umls-2020AB-full.zip
0
18.03.2021, 22:49

Теги

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