【发布时间】:2011-02-18 08:43:29
【问题描述】:
您好!
我的任务是针对我们从硬件供应商处收到的文件创建一份报告。我需要为两个字段 'Test_Version' 和 'Model-Manufacturer' grep 这些文件;对于每个字段,我需要捕获它们对应的值。
在previous post 中,我找到了创建基本报告的帮助,如下所示:
find . -name "*.VER" -exec egrep -A 1 'Test_Version=|Model-Manufacturer:' {} ';'
Model-Manufacturer:^M
R22-100^M
Test_Version=2.6.3^M
Model-Manufacturer:^M
R16-300^M
Test_Version=2.6.3^M
但是,输出的数据充满了 DOS 回车“^M”。我的老板希望“Model-Manufacturer”显示为“Test_Version”,即
Model-Manufacturer:R22-100
Test_Version=2.6.3
Model-Manufacturer:R16-300
Test_Version=2.6.3
使用 sed,我尝试删除“Model-Manufacturer”的“^M”字符,但无济于事:
find . -name "*.VER" -exec egrep -A 1 'Test_Version=|Model-Manufacturer:' {} ';' | sed 's/Model-Manufacturer:^M//g'
此命令无效。我在这里错过了什么?
【问题讨论】:
标签: sed