用于转换列表的 Ksh 脚本

发布于 11-05 01:35 字数 268 浏览 1 评论 0原文


应用一些命令后,我有一个数据集如下

graph_name=abc
group_name=def
factory=xyz
export a=1
export b=2
export c=3

,现在我如何实现以下输出,

graph_name=abc
export a=1
export b=2
export c=3

除了包含记录的 graph_name 之外,我还需要所有导出语句。

After applying some commands I have a data set as below

graph_name=abc
group_name=def
factory=xyz
export a=1
export b=2
export c=3

Now how can i acheieve the below output

graph_name=abc
export a=1
export b=2
export c=3

I need all the export statements in addition with just graph_name containing record.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

唯憾梦倾城2024-11-12 01:35:28
sed -n -e '/^graph_name=/p' -e '/^export /p' your-file

默认情况下不打印 (-n);然后它显式地打印那些与您想要的内容相匹配的行。

sed -n -e '/^graph_name=/p' -e '/^export /p' your-file

This doesn't print by default (-n); it then explicitly prints those lines that match what you want.

帥小哥2024-11-12 01:35:28

一个简单的 grep 命令:

grep -w -e "graph_name=" -w -e "export" tmp FILENAME

A simple grep command:

grep -w -e "graph_name=" -w -e "export" tmp FILENAME
随梦而飞#2024-11-12 01:35:28

一些 awk 解决方案:

awk '/^graph_name=/ || /^export /' filename
awk '/^(graph_name|export)\>/' filename
awk -F '[= ]' '$1 == "graph_name" || $1 == "export"' filename

some awk solutions:

awk '/^graph_name=/ || /^export /' filename
awk '/^(graph_name|export)\>/' filename
awk -F '[= ]' '$1 == "graph_name" || $1 == "export"' filename
从来不烧饼2024-11-12 01:35:28

尝试使用egrep 来匹配由管道符号分隔的多个模式中的任何一个。在这里,我正在寻找以“graph_name”或“export”开头的行:

egrep "^graph_name|^export" your_file

Try egrep to match any of a number of patterns separated by the pipe symbol. Here I am looking for lines beginning with "graph_name" or "export":

egrep "^graph_name|^export" your_file
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文