Как проанализировать через текстовый файл, который имеет URL и индексацию и образы загрузки от нее?

таким образом, я получаю это, я могу использовать wget -i text_file.txt к образам загрузки от URL in.txt, но файл также имеет некоторую странную индексацию. Я пытаюсь загрузить набор данных для машинного обучения, и оно имеет различные классы изображений.

Это имеет что-то как

2598 98 https://www.dermquest.com/image-library/image/5044bfcfc97267166cd620a2
2599 99 https://www.dermquest.com/image-library/image/5044bfcfc97267166cd61a48
2600 00 https://www.dermquest.com/image-library/image/5044bfcfc97267166cd61a49
2601 01 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd64e01
2602 02 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd64e02
2603 03 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd63c9c

и позже...

6577 77 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd64727
6578 78 https://www.dermquest.com/image-library/image/5044bfd1c97267166cd662c7
6579 79 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd65888
6580 80 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd635e0
6581 81 https://www.dermquest.com/image-library/image/5044bfd1c97267166cd6676d
6582 82 https://www.dermquest.com/image-library/image/5044bfd1c97267166cd6676e
6583 83 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd6472b
6584 84 https://www.dermquest.com/image-library/image/5044bfd0c97267166cd6588d

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

Спасибо!

0
задан 25 September 2018 в 01:26

3 ответа

Это похоже на простое задание для cut(1):

cut -d ' ' -f 3 < url-listing.txt

Можно передать его вывод по каналу непосредственно к wget и используйте “специальное” имя файла - читать из стандартного входа:

cut -d ' ' -f 3 < url-listing.txt | wget -i -
1
ответ дан 27 October 2019 в 10:10

Можно использовать sed удалить числа в начале каждой строки:

sed -r 's/^[0-9]+//g' urls.txt > urls_without_numbers.txt

Теперь можно использовать wget с новым url_without_numbers.txt

Если по некоторым причинам действительно необходимо сделать это, не делая новый файл как вышеупомянутый

sed -r 's/^[0-9]+//g' urls.txt | wget -i /dev/stdin

Если Ваши строки содержат диапазоны числа как 1-100 попробуйте это:

sed -r 's/^[0-9\-]+//g' urls.txt > urls_without_numbers.txt
1
ответ дан 27 October 2019 в 10:10

Кажется легче мне решить это awk. Awk разделяет строкой и затем выполняет команду. С

for url in $(awk '{print $NF}' url1.txt | tr -d '\r'); do wget -L $url -O - | grep "preview-image"; done 2>&1 | grep "img src" | awk '{print $5}' | tr -d "\"" | awk -F'=' '{print $2}' &> real_urls.txt

Вы сначала печатаете последний элемент, если строка разделяется пространством (значение по умолчанию). Затем Вы удаляете '\r' (который не должен быть в URL), и затем используйте URL в качестве аргумента в пользу wget. Затем в wget произведите корректное img- тег является поиском grep. Впоследствии, необходимо будет так или иначе получить то, что после src. Это сделано путем удаления " (которого нужно оставить), и затем при помощи Awk для получения то, что находится позади =. Затем все сохраняется в real_urls.txt. Затем можно просто загрузить:

for url in $(cat real_urls.txt); do wget "https://www.dermquest.com$url"; done
0
ответ дан 27 October 2019 в 10:10

Другие вопросы по тегам:

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