читать параметр из URL - PullRequest
       0

читать параметр из URL

1 голос
/ 25 февраля 2020

Я пытаюсь прочитать параметр из URL, я могу прочитать одну строку, но я не знаю, как l oop в awk, кто-то может помочь?

У меня есть файл с 1000+ записями, такими как

http://projectreporter.nih.gov/project_info_details.cfm?aid=7714687&icde=0
http://projectreporter.nih.gov/project_info_description.cfm?aid=7896503&icde=0
http://projectreporter.nih.gov/project_info_details.cfm?aid=7895320&icde=0
http://projectreporter.nih.gov/project_info_details.cfm?aid=2675186&icde=9195637

я пытаюсь получить только «aid = xxxxxxx», я использовал следующую команду, чтобы сделать это, и я получаю «помощь» для последней строки

awk '{match($0,"aid=([^ &]+)",a)}END{print a[1]}' file1.txt > outputFile.txt

как сделать то же самое в al oop, чтобы я мог получить все вхождения? любая помощь будет оценена

1 Ответ

1 голос
/ 25 февраля 2020

Это должно немного подстроить ваш код.

awk 'match($0,/aid[^&]*/){print substr($0,RSTART,RLENGTH)}' Input_file


В случае, если в одной строке может быть несколько вхождений aid, и вы хотите затем распечатать все попробуйте следующее.

awk '
{
  while(match($0,/aid[^&]*/)){
    print substr($0,RSTART,RLENGTH)
    $0=substr($0,RSTART+RLENGTH)
  }
}
' Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...