文字列から部分文字列を検索し、次の単語を返します。

文字列から部分文字列を検索し、次の単語を返します。

キーワードを検索して次の単語を返す文字列があります。

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

"schema_name"を返そうとしていますが、唯一の表示テキストは前の "FROM"文字列です。

ありがとう

答え1

指定された正確な設定を表示するには、以下を試してください。

sed 's/^.*FROM //; s/\..*$//' file

答え2

一連schema_nameの家単語文字、grepがPerl互換正規表現(PCRE)をサポートしている場合は、次のものを使用できます。

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

前任者。

echo '"SELECT \"city\",\"temp_lo\",\"temp_hi\",\"date\" FROM schema_name.\"weather_7\""' |
  grep -Po 'FROM\s+\K\w+'
schema_name

関連情報