У меня есть файл, который выглядит примерно так:
# a mess of text
Hello. Student Joe Deere has
id number 1. Over.
# some more messy text
Hello. Student Steve Michael Smith has
id number 2. Over.
# etc.
Я хочу записать пары (Joe Deere, 1)
, (Steve Michael Smith, 2)
и т. Д. В список (или два отдельных списка с одинаковым порядком). А именно, мне нужно будет перебрать эти пары и что-то сделать с именами и идентификаторами.
(имена и идентификаторы указаны в разных строках, но в следующем порядке: name1
, id1
, name2
, id2
и т. Д.). Я могу извлечь интересующие строки с
VAR=$(awk '/Student/,/Over/' filename.txt)
Я думаю, что знаю, как извлечь имена и идентификаторы с помощью grep
, но это даст мне результат как один большой блок, такой как
`Joe Deere 1 Steve Michael Smith 2 ...`
(и, возможно, даже с разделителем между именами и идентификаторами). На данный момент я не уверен, как двигаться дальше, и в любом случае это не похоже на правильный подход.
Я уверен, что в awk
есть однострочная строка, которая будет делать то, что мне нужно. Возможности безграничны, а документация монументальна.
Есть предложения?