Форум русскоязычного сообщества Ubuntu


Автор Тема: bash скрипт удалить строку после символов [Решено]  (Прочитано 714 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
Есть сайт с мануалами в виде PDF. Хочу оттуда их все выкачать. Нужно скопировать все ссылки, чтобы скачать. Если бы страница была в виде таблицы, то можно было бы выделить нужную колонку, и получить список файлов. Но страница выводится не в виде таблицы, а в виде строк.

      STR-D365.pdf                                                 26-Jan-2010 11:19  5.8M 
      STR-D365_.pdf                                                26-Jan-2010 11:20  7.2M 
      STR-D390_D590.pdf                                            26-Jan-2010 11:22  9.9M 
      STR-D460Z_DE515_V505.pdf                                     26-Jan-2010 11:22  4.6M 
      STR-D460Z_DE515_V505_.pdf                                    26-Jan-2010 11:23  719K 
      STR-D511_D611.pdf                                            26-Jan-2010 11:23  5.3M 

Соответственно, выдрать имена файлов из браузера просто так не удастся.

Вопрос вот какой, как в bash удалить из строки все, что после определенных символов? В моем случае это .pdf

Заранее спасибо!
« Последнее редактирование: 03 Мая 2020, 06:27:30 от zg_nico »

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: bash скрипт удалить строку после символов
« Ответ #1 : 17 Апреля 2020, 16:39:30 »
Что-то типа

sed 's/pdf.*/pdf/'
Я в личке не консультирую. Вопросы задавайте на форуме.

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
Re: bash скрипт удалить строку после символов
« Ответ #2 : 17 Апреля 2020, 17:18:14 »
Что-то типа

sed 's/pdf.*/pdf/'

Все работает:

sed 's/pdf.*/pdf/' 111tst.txt > 111tst_out.txt
Спасибо! Очень выручили!

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Re: bash скрипт удалить строку после символов
« Ответ #3 : 17 Апреля 2020, 21:35:09 »
awk '{print $1}'

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: bash скрипт удалить строку после символов
« Ответ #4 : 17 Апреля 2020, 23:47:39 »
Конечно, современные процессорные мощности уже не столь восприимчивы к сокращению времмени обработки, но ...sed -n 's/pdf/&\n/;P'илиgrep -o '\S*pdf'будут быстрее
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.069 секунд. Запросов: 25.