sed|awk извлечь несколько частей одной строки

  • Автор темы TheHolms
  • 42
  • Обновлено
  • 17, May 2024
  • #1
Привет, пожалуйста, есть ли кто-нибудь достаточно опытный, чтобы помочь мне с этим? В Linux у меня есть файл с очень длинной строкой, содержащей несколько раз следующую фразу:
.... здесь какой-то текст...

...еще один текст...

Мне нужно извлечь только числа, расположенные после фразы «/download/», или только фразы «/download/numberhere». Строка содержит другие числа, поэтому мне нужно каким-то образом извлечь только числа после «загрузки/».

Таким образом, выходные данные должны быть числами по одному в строке или /download/numberhere по одному в строке. :-С

Возможно, это можно сделать, каким-то образом извлекая строку, находящуюся между двумя строками:



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

TheHolms


Рег
14 Sep, 2012

Тем
1

Постов
3

Баллов
13
  • 09, Jun 2024
  • #2
zach@sigma:~/Desktop$ bash test.sh | сортировать | уникальный /скачать/2 /скачать/366 /скачать/392931 zach@sigma:~/Desktop$ cat test.sh #!/бин/баш ФАЙЛ=тест grep -oP '/download/(\d+)' "$FILE"
 

proxyseller


Рег
22 Jun, 2015

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно