假设我有一个很长的 HTML 文件,其中包含字符串 "USER_NAME='FOO BAR'"。我如何使用 BASH 提取 FOO BAR?

Let's say I have a long HTML file that includes the string "USER_NAME='FOO BAR'". How do I just extract FOO BAR using BASH?

我有一个很长的 html 文件,我想提取一个与变量名关联的值。我假设这将需要使用 grep、awk 或 sed。

文件中的示例:"USER_NAME='Foo Bar X. 1003. User since 2003.'" 单引号是唯一的分隔符。

尝试(快速且肮脏)

grep -oP 'USER_NAME=\K\S+' your.html
grep -oP "USER_NAME='\K[^']+" your.html
grep -oP 'USER_NAME="\K[^"]+' your.html

更新

由于您没有提供任何示例数据,请尝试以上 3 行,希望其中之一对您有用。

假设每个配置都在换行符上,并且=不能也出现在用户名中...

grep ^USER_NAME your.html | awk -F "=" '{print }'

2 个步骤:

1) 检索文件中以 USER_NAME 开头的行

2) 用“=”分隔符分隔行并打印第二个值