栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何解析多行记录(使用awk?)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何解析多行记录(使用awk?)

$ package=sed$ apt-cache show "$package" | awk '/^Package: /{p=$2} /^Version: /{v=$2} /^Architecture: /{a=$2} /^$/{print "apt-get download "p"="v" -a="a}' apt-get download sed=4.2.1-10 -a=amd64

怎么运行的

  • /^Package: /{p=$2}

将软件包信息保存在variable中

p

  • /^Version: /{v=$2}

将版本信息保存在variable中

v

  • /^Architecture: /{a=$2}

将体系结构信息保存在variable中

a

  • /^$/{print "apt-get download "p"="v" -a="a}

当我们到达空白行时,以所需的形式打印出信息。

我的版本

apt-cache
总是在每个软件包后输出空白行。您的示例输出缺少最后一个空白行。如果您
apt-cache
确实没有产生最后的空白行,那么我们将需要添加更多代码来进行补偿。

作为一个风格问题,有些人可能更喜欢

printf
print
。在这种情况下,请将以上内容替换为:

    /^$/{printf "apt-get download %s=%s -a=%sn",v,p,a}'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/412407.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号