unix520 发表于 2023-08-27 17:29

删除字符串之后

如果这行含有 "新增" 匹配字符串,      那么请删掉MAC之后的所有东西,"*" 表示任何字符
a.txt
a 新增01:02:03:04:05:06 * ** *** **


输出
b.txt
a 新增01:02:03:04:05:06

Shell_HAT 发表于 2023-08-28 22:54

回复 1# unix520


sed -r "s/(.*新增.*({2}:){5}{2}).*/\1/" 1.txt > 2.txt

unix520 发表于 2023-08-29 10:41

回复 2# Shell_HAT

非常好,感谢大侠

wh7211 发表于 2023-08-29 12:28

回复 1# unix520

unix520你好:
下面你发表的主题中均有大家给你的回复,而你却把1楼提问帖的内容修改成了如“谢谢”、“算了 不问了”、“新年快乐”等内容。大家回复帮你解决问题是要耗费时间和精力的,你这样做是对回复人的不尊重,也让该主题失去了参考价值。请恢复这些主题中1楼提问帖的内容。

http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4319222
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4319242
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4319228
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4319296


unix520 发表于 2023-08-29 13:31

回复 4# wh7211

没有不尊重意思,   请不要误会哦, 如有一些不当之处,实在抱歉, 希望大家谅解。已全部更正及还原主题意思

wh7211 发表于 2023-08-29 19:21

本帖最后由 wh7211 于 2023-08-29 19:24 编辑

回复 1# unix520


cat 1
a 新增01:02:03:04:05:06 * ** *** **
b 新增 c 01:02:03:04:05:06 * ** *** **

awk '/新增/{for(i=1;i<=NF;i++){a=match($i,"(({2}:){5}{2})",b);if(a){NF=i;break}};print>"2"}' 1

cat 2
a 新增 01:02:03:04:05:06
b 新增 c 01:02:03:04:05:06
页: [1]
查看完整版本: 删除字符串之后