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

sed表达式中的命令替换

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

sed表达式中的命令替换

您可以从错误消息目录中创建sed脚本,然后将该sed脚本应用于日志文件。

基本上,遵循以下原则:

sed 's/(.*), 0x([0-9A-F]*)$/s%ERRORID:0x2%ERROR:1%g/' errors.txt |sed -f - logfile.txt

第一个sed脚本的输出应如下所示:

s%ERRORID:0x00000001%ERROR:Out of memory%s%ERRORID:0x00000002%ERROR:Stack overflow%s%ERRORID:0x00000031%ERROR:values of beta may cause dom%

也就是说,一个新的sed脚本指定了目录中每个错误代码的替换。

sed的方言不同,因此可能需要稍作调整。我相信Linux上的sed应该在将正则表达式中的括号分组之前使用反斜杠,并乐于接受标准输入作为该

-f
选项的参数。但是,这不能移植到其他Unices(但如果需要可移植性,可以用Perl代替sed)。

  • 编辑: 如果错误消息是相当静态的,和/或您想从标准输入中读取日志,则将生成的脚本保存在文件中;

    Do this once

    sed ‘s/(.), 0x([0-9A-F])$/s%ERRORID:0x2%ERROR:1%g/’ errors.txt >errors.sed

    Use it many times

    sed -f errors.sed logfile.txt

你也可以添加

#!/usr/bin/sed -f
在顶部
errors.sed
chmod +x
它,使之成为一个独立的命令脚本。



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

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

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