procura a substring dentro de uma string e retorna a próxima palavra

0

Eu tenho esta string onde eu quero procurar por uma palavra-chave e, em seguida, retornar a seguinte palavra.

"SELECT \"city\",\"temp_lo\",\"temp_hi\",\"date\" FROM schema_name.\"weather_7\""

Eu quero retornar "schema_name" e o único texto indicador é a string "FROM" anterior.

Obrigado

    
por CLO 11.08.2018 / 12:35

2 respostas

2

Para exatamente a configuração fornecida, tente

sed 's/^.*FROM //; s/\..*$//' file
    
por 11.08.2018 / 12:53
0

Supondo que schema_name consista em uma sequência de caracteres de palavras , se o seu grep suportar expressões regulares compatíveis com Perl (PCRE), você pode usar

grep -Po 'FROM\s+\K\w+'

Ex.

echo '"SELECT \"city\",\"temp_lo\",\"temp_hi\",\"date\" FROM schema_name.\"weather_7\""' |
  grep -Po 'FROM\s+\K\w+'
schema_name
    
por 11.08.2018 / 15:59

Tags