[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

请教一下,如何用 sed 计算单行字符串中指定字符的数量?比如怎样计算 011110011 中有多少个 1?
我是这样写的:
  1. echo 011110011|sed -n "s/1/\n/g;H;${g;$=}"
复制代码
可是 = 对行数的统计似乎发生在 s/1/\n/g 之前,显示的是原字符串的行数(1),而非将 1 替换为换行之后的行数(7),也即是说,应该怎样才能计算多行模式空间中的行数呢?
顺便问一下,如何实现替换倒数第二行的 1 为 0 呢(保持其他行不变)?

  1. echo 011110011 | sed "s/./&\n/g" | sed "/1/!d" | sed -n "$="
复制代码

TOP

不知能否用一条 sed 完成呢?

TOP

返回列表