2016-09-24 8 views
1

Короче говоря, я разрабатываю скрипт, который полагается на пользователя, загружающего tar.gz из ссылки, предоставленной мной. Мне также не разрешено загружать tar.gz.Получение ссылки github для освобождения кода

tar.gz на самом деле является конкретным выпуском ретрансляции github. Ссылка: https://github.com/ros/urdfdom_headers/archive/1.0.0.tar.gz. Проблема в том, что если вы откроете эту ссылку в браузере, скачанный файл будет называться urdfdom_headers-1.0.0.tar.gz, точно так, как я хочу. Однако, если пользователь решил напрямую загрузить с помощью wget, имя файла будет 1.0.0.tar.gz. Мой сценарий зависит от имени архива, и хотя я могу объяснить различия в именах, наличие последовательного имени значительно облегчит мою жизнь.

Мой вопрос в том, есть ли ссылка github на этот проект, который хранит архив с именем urdfdom_headers-1.0.0.tar.gz, а не 1.0.0.tar.gz, так что любой тип загрузки приведет к безопасному именованию. Ссылка для релизов https://github.com/ros/urdfdom_headers/releases/

ответ

0

Мой вопрос заключается в том, существует ли связь GitHub для этого проекта, в котором хранится архив с именем urdfdom_headers-1.0.0.tar.gz, а не 1.0.0.tar.gz

в том случае, когда нет такой ссылки, ваш скрипт только одна команда прочь, чтобы работать (в Баш сессии):

find . -mindepth 1 -maxdepth 1 -regex '^./[0-9].*\.tar\.gz' -exec echo '{}' \; | sed -e "s/^\.\///g" | while read f; do mv "${f}" "urdfdom_headers-${f}"; done 

в нескольких строках для видимости:

find . -mindepth 1 -maxdepth 1 -regex '^./[0-9].*\.tar\.gz' -exec echo '{}' \; | \ 
    sed -e "s/^\.\///g" | \ 
    while read f; do mv "${f}" "urdfdom_headers-${f}"; done 

Так что если любые скачанные tar.gz файлы, начинающиеся с номера, они будут переименованы соответствующим образом.

+0

Я не спрашиваю, как найти и переименовать файл. Я хочу знать, есть ли такая ссылка на github, поэтому я могу напрямую загрузить файл с правильным именем. Спасибо, в любом случае! – niko

+0

@niko Моя точка зрения: я не думаю, что есть такая связь, поэтому моя обходная ситуация. – VonC