2011-05-03 40 views
1


应用一些命令后,我有我怎么能acheieve下面的输出KSH脚本来转换列表

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

我需要在所有出口报表的数据集如下

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

现在此外只含有包含记录的graph_name。

+0

你只想要第一个“graph_name”行,因为它的值包含导出的变量名称? – 2011-05-04 13:16:34

+0

不,不像我按照我的要求问这个问题。谢谢杰克。 – srihari 2011-05-04 13:53:39

+0

啊,我读了“group_name”作为另一个“graph_name”记录。 – 2011-05-04 14:06:43

回答

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

这并不默认打印(-n);然后它会明确地打印出符合您需要的行。

1

一个简单的grep命令:

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

谢谢Apophendia – srihari 2011-05-03 21:10:17

0

一些AWK的解决方案:

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

尝试egrep的以匹配任何数量的通过管道符号分开的图案的。我在这里找线,“graph_name”或“出口”开头:

egrep "^graph_name|^export" your_file