免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2341 | 回复: 10

请教一个ip格式的问题 [复制链接]

论坛徽章:
0
发表于 2006-10-24 16:54 |显示全部楼层
比如文件a为ip列表

  1. 060.167.128.000/16
  2. 060.170.000.000/17
  3. 060.070.128.000/17
  4. 160.171.064.000/18
  5. 060.171.128.23/18
复制代码


怎么用shell格式为

  1. 60.167.128.0/16
  2. 60.170.0.0/17
  3. 60.70.128.0/17
  4. 160.171.64.0/18
  5. 60.171.128.23/18
复制代码


也就是把连续有三个零 的都换成一个零,其他开头为零的都去掉

论坛徽章:
0
发表于 2006-10-24 16:56 |显示全部楼层
awk -F'[./]' '{ print $(NF-1)-0 }'

论坛徽章:
0
发表于 2006-10-24 16:59 |显示全部楼层

  1. awk -F'[./]' '{print $1/1"."$2/1"."$3/1"."$4/1"/"$5}'  YourFile
复制代码

嘿嘿, 楼上的比较简单

[ 本帖最后由 vantien 于 2006-10-24 17:00 编辑 ]

论坛徽章:
0
发表于 2006-10-24 17:02 |显示全部楼层
sed 's/\.00*/\.0/g;s/\.0\([0-9][0-9]*\)/\.\1/g;s/^0*//g;' file

论坛徽章:
0
发表于 2006-10-24 17:03 |显示全部楼层
原帖由 vantien 于 2006-10-24 16:59 发表

  1. awk -F'[./]' '{print $1/1"."$2/1"."$3/1"."$4/1"/"$5}'  YourFile
复制代码

嘿嘿, 楼上的比较简单

那整个复杂滴:
  1. awk -F'.' 'BEGIN { OFS=FS; }{ split($NF, arr, "/"); $NF = (arr[1]-0)"/"arr[2]; print; }' urfile
复制代码

论坛徽章:
0
发表于 2006-10-24 17:06 |显示全部楼层
to frankzh :
还不如将
http://bbs.chinaunix.net/viewthr ... &extra=page%3D1
17楼的 $4 修改成 ($4-0)

论坛徽章:
0
发表于 2006-10-24 17:07 |显示全部楼层
19楼,偶又错了!

论坛徽章:
0
发表于 2006-10-24 17:09 |显示全部楼层
awk就是awp加ak  你的执行后 每行只出现一个数  是不是你漏了那里   呵呵 ;) 我说的是二楼你的shell 你回复太快啊

vantien  你的执行后 是可以的

谢谢 二位了  我的开始学shell了

[ 本帖最后由 frankzh 于 2006-10-24 17:13 编辑 ]

论坛徽章:
0
发表于 2006-10-24 17:13 |显示全部楼层
2楼的只是个意思,呵呵!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2006-10-24 17:42 |显示全部楼层
sed 's/0\([1-9][0-9]\)/\1/g;s/000/0/g'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP