【发布时间】:2021-02-19 06:31:32
【问题描述】:
我希望能够通过使用某种正则表达式和过滤名称轻松地将我的 gnome 终端的某些配置文件传输到另一台计算机。 grep 不允许在换行符之间进行搜索,我希望 awk(在 Ubuntu 上技术上为 mawk)具有该功能。个人资料如下所示:
[:c812de27-9bc9-414b-a263-4995c1ec775a]
background-color='rgb(31,36,40)'
palette=['rgb(106,115,125)', ...array of colors]
scroll-on-output=true
scrollbar-policy='never'
use-theme-colors=false
use-theme-transparency=false
visible-name='gh_dark'
这些配置文件在通过dconf 转储时由换行符分割
到目前为止,我已经尝试过grep,但由于它不允许匹配换行符(我在尝试grep "\[:.*\].*visible-name:'gh_dark'" 后发现),我无法确定几个。我查看了-A 标志,但由于无法知道特定配置文件将有多少行,这似乎不实用。
给定名称,我想要的是像上面一样的输出,很容易看到完整的配置文件配置
我想知道是否有一种方法可以使用 awk 通过抓取 id(在顶部)和名称轻松地对这些进行排序,以便轻松找出要单独导出的那些(需要 id)或只是直接把它们拉出来放在一个文件里
【问题讨论】:
-
欢迎来到 SO,请在您的问题中添加您的努力以及示例预期输出,以便更好地理解问题,谢谢。
-
好的,谢谢@RavinderSingh13
-
感谢您的努力,当找到
visible-name='gh_dark'的条目时,您能否确认是否要在您的文件中打印博客的输出?抱歉,它还没有明确预期的输出。 -
是的,在寻找
PROFILE_NAME(本例为gh_dark)时,找到visible-name:'${PROFILE_NAME}'时触发输出 -
接受的答案纯粹是基于正则表达式的,所以它是正确的标签。