如何解决如何使用grep提取括号之间的内容?
我想使用grep仅提取括号之间的一部分
我的日志文件: *
{
* "path": "/root/power.doc"
}
如何提取括号之间的内容?
解决方法
grep
不做范围。您可以改用awk
:
awk '/\{/,/\}/ {if($0 ~ /path/){print $0}}' kylian.log
* "path": "/root/power.doc"
编辑1:
这里有一个用于测试的修改文件:
$ cat kylian.log
* "path": "/root/power_before.doc"
--- before
+++ after
@@ -1,4 +1,4 @@
{
* - "mode": "0010",* + "mode": "0030",* "path": "/root/power.doc"
}
* "path": "/root/power_after.doc"
这是我对它运行awk时的输出:
$ awk '/\{/,/\}/ {if( $0 ~ /path/){print $0}}' kylian.log
* "path": "/root/power.doc"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。