我有这个字符串,我想在其中搜索关键字,然后返回以下单词。
"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