linux shell / sed /awk/ 相关脚本编程 如何把一个文件中的匹配内容后面的一段字符删除。

比方说下面文件。需要替换的有2中类型。Partlabel="property10000-Shell:5Q0_803_105-TM25_LAENGSTRAEGER_VORN... 比方说下面文件。

需要替换的有2中类型。
Part label="property 10000-Shell: 5Q0_803_105-TM25_LAENGSTRAEGER_VORN_30_03_2011-HC450XDZ100MB"
替换为 Part label=" 5Q0_803_105“

另一种为:Part label="property 11000-Shell: 5Q0_803_107_A-TM22_DECKTEIL_LTRG_VO_11_02_2011-HC450XDZ100MB"
替换为Part label="5Q0_803_107_A”

以上替换内容的特点是。
part label 后面的值总在变化。有很多种。
不变的格式2种。
Part label="property.....shell: xxx_xxx_xxx.....“
或Part label="property.....shell: xxx_xxx_xxx_x-.....“

需要提取出来的内容如5Q0_803_105或5Q0_803_107_A特征是3个字符隔隔一个下划线。

求教如何实现!!!!!!!!!!!!!!
展开
 我来答
百度网友f1edbb8
2013-04-19 · TA获得超过1048个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:517万
展开全部
sed 's/\(Part label=\).*:\(.*\)-.*/\1"\2"/g' 文件名 > 输出文件名


我自己测试了一下,应该没问题

追问
请问,把替换的内容在该行的下一行添加一行。如何实现。
追答
sed 's/\(Part label=\).*:\(.*\)-.*/\1"\2"\n/g'文件名 > 输出文件名
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式