在字符串中搜索子字符串并返回下一个单词

在字符串中搜索子字符串并返回下一个单词

我有这个字符串,我想在其中搜索关键字,然后返回以下单词。

"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

相关内容