找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21446|回复: 4

[文本处理] 批处理替换指定字符

[复制链接]
发表于 2014-3-6 12:16:56 | 显示全部楼层 |阅读模式
本帖最后由 keshun 于 2014-3-6 12:29 编辑

求代码,把实际地址(bindmac)的“-”替换成“:”,但其他的“-”不能变,谢谢!!
  1. sed -i "s/-/:/g" a.txt
复制代码
我这代码是所有替换,要进行修改,望高手给予帮助。

a.txt
user=2228 bindmac=00-e0-4c-1e-fc-1a expire_since=2014-03-07 desc=-
user=2198 expire_since=2014-04-27 bindmac=00-e0-4c-27-58-c1 desc=-
替换成:
user=2228 bindmac=00:e0:4c:1e:fc:1a expire_since=2014-03-07 desc=-
user=2198 expire_since=2014-04-27 bindmac=00:e0:4c:27:58:c1 desc=-
发表于 2014-3-6 12:47:51 | 显示全部楼层
  1. gawk "{for(i=1;i<=NF;i++)if($i~/bindmac=/)gsub(/-/,":",$i);print}" a.txt
复制代码
发表于 2014-3-6 12:49:30 | 显示全部楼层
  1. sed -r "s/bindmac=(..)-(..)-(..)-(..)-(..)-(..)/bindmac=\1:\2:\3:\4:\5:\6/" a.txt
复制代码
 楼主| 发表于 2014-3-6 14:33:50 | 显示全部楼层
回复 3# DAIC


    谢谢,试过上面两个代码,没有替换成功,是否还须修改下。
发表于 2014-3-6 15:17:44 | 显示全部楼层
回复 4# keshun


你自己在代码后面加上重定向就行了
> b.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:04 , Processed in 0.028205 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表