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

[问题求助] 请问如何用 sed 计算字符数量?

[复制链接]
发表于 2011-12-31 09:50:11 | 显示全部楼层 |阅读模式
请教一下,如何用 sed 计算单行字符串中指定字符的数量?比如怎样计算 011110011 中有多少个 1?
我是这样写的:
  1. echo 011110011|sed -n "s/1/\n/g;H;${g;$=}"
复制代码
可是 = 对行数的统计似乎发生在 s/1/\n/g 之前,显示的是原字符串的行数(1),而非将 1 替换为换行之后的行数(7),也即是说,应该怎样才能计算多行模式空间中的行数呢?
顺便问一下,如何实现替换倒数第二行的 1 为 0 呢(保持其他行不变)?
发表于 2011-12-31 10:53:50 | 显示全部楼层
  1. echo 011110011 | sed "s/./&\n/g" | sed "/1/!d" | sed -n "$="
复制代码
 楼主| 发表于 2011-12-31 11:15:17 | 显示全部楼层
不知能否用一条 sed 完成呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:15 , Processed in 0.017296 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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