Uma maneira possível pode ser substituir grep
by pcregrep
(disponível no repositório 'universe'), que suporta correspondências multilinhas e, em vez de pesquisar a cadeia literal
Time series prediction with ensemble models
pesquise em vez disso pela expressão regular compatível com perl (PCRE)
Time\s+series\s+prediction\s+with\s+ensemble\s+models
onde \s+
significa um ou mais caracteres em branco (incluindo novas linhas). Usando os recursos internos de substituição de strings do bash shell para executar a última etapa
pdftotext "$file" - | pcregrep -M "${string// /\s+}"
Se você não puder usar pcregrep
, poderá obter a saída desejada usando grep
simples com a opção -z
: isso diz a grep
para considerar as "linhas" de entrada a serem delimitadas por NUL
caracteres em vez de novas linhas - neste caso, efetivamente fazendo com que ele trate toda a entrada como uma única linha. Por exemplo, se você quiser apenas imprimir as correspondências (sem contexto)
pdftotext "$file" - | grep -zPo "${string// /\s+}"