与awk完全匹配
Exact match with awk
我正在尝试使用 bash script.It 提取 extension_dir
在大多数情况下都有效,但有时您可以获得 2 行输出
php -i | awk -F '=> ' '/extension_dir/'
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
sqlite3.extension_dir => no value => no value
我想精确匹配 extension_dir
这样结果总是 /usr/lib64/php/modules
我只想要 /usr/lib64/php/modules
作为输出
您可以选择字符串匹配为
$ awk -F '=> ' ' == "extension_dir "' input
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
== "extension_dir "
匹配第一个字段中的值,</code> 与 <code>extension_dir
或
如果您想使用正则表达式,请将锚点添加到您的模式中
$ awk -F '=> ' ' ~ /^extension_dir $/' input
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
编辑
您可以指定要打印的字段为
$ awk -F '=> ' ' == "extension_dir "' input
/usr/lib64/php/modules
$ awk -F '=> ' ' ~ /^extension_dir $/{print }' input
/usr/lib64/php/modules
print
将打印第二个字段的值
我正在尝试使用 bash script.It 提取 extension_dir
在大多数情况下都有效,但有时您可以获得 2 行输出
php -i | awk -F '=> ' '/extension_dir/'
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
sqlite3.extension_dir => no value => no value
我想精确匹配 extension_dir
这样结果总是 /usr/lib64/php/modules
我只想要 /usr/lib64/php/modules
作为输出
您可以选择字符串匹配为
$ awk -F '=> ' ' == "extension_dir "' input
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
== "extension_dir "
匹配第一个字段中的值,</code> 与 <code>extension_dir
或
如果您想使用正则表达式,请将锚点添加到您的模式中
$ awk -F '=> ' ' ~ /^extension_dir $/' input
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
编辑
您可以指定要打印的字段为
$ awk -F '=> ' ' == "extension_dir "' input
/usr/lib64/php/modules
$ awk -F '=> ' ' ~ /^extension_dir $/{print }' input
/usr/lib64/php/modules
print
将打印第二个字段的值