Não muito um forro (embora o comando para executá-lo seja um forro :)), mas aqui está uma opção em python:
#!/usr/bin/env python3
import sys
file = sys.argv[1]
with open(file) as src:
text = src.read()
starters = [(i+6, text[i:].find("&action")+i) for i in range(len(text)) if text[i:i+6] == "id_ad="]
if len (starters) > 0:
for item in starters:
print(text[item[0]:item[1]])
O script primeiro lista todas as ocorrências (índices) da string (start) "id_ad=", em combinação com a string "& amp; action" (final). Em seguida, imprime tudo o que existe entre esses "marcadores".
Extraído de um arquivo preparado:
"Eu quero processar o corpo do texto e extrair um inteiro de uma posição específica no texto, mas não sei como descrever essa 'posição particular'. Expressões regulares realmente me confundem. Passei (desperdiçado) algumas horas lendo tutoriais e não me sinto mais perto de uma resposta :( Há um monte de texto que pode ou não incluir números inteiros (que eu não quero) e, em seguida, há uma linha que sempre contém id_ad = 1929170 & amp; action Há um monte de texto que pode ou não incluir números inteiros (que eu não quero) e, em seguida, há uma linha que sempre contém id_ad = 1889170 & amp; action e, em seguida, seguido por um monte de lixo com o qual não me importo, pode ou não incluir um ou mais números inteiros. Há um monte de texto que pode ou não incluir números inteiros (que eu não quero) e, em seguida, há uma linha que contém sempre id_ad = 1889170 & ação e, em seguida, seguido por um monte de lixo que não me interessa, novamente pode ou não incluir um ou mais números inteiros. Há um monte de texto que pode ou não incluir números inteiros (que eu não quero) e, em seguida, há uma linha que sempre contém id_ad = 1929990 & amp; action "
O resultado é:
1929170
1889170
1889170
1929990
Como usar
Cole o script em um arquivo vazio, salve-o como extract.py
, execute-o pelo comando:
python3 <script> <file>
Nota
Se houver apenas uma ocorrência no arquivo de texto, o script poderá ser muito mais curto:
#!/usr/bin/env python3
import sys
file = sys.argv[1]
with open(file) as src:
text = src.read()
print(text[text.find("id_ad=")+6:text.find("&action")])