Board logo

标题: [问题求助] 请问如何用 sed 计算字符数量? [打印本页]

作者: CrLf    时间: 2011-12-31 09:50     标题: 请问如何用 sed 计算字符数量?

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

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

作者: CrLf    时间: 2011-12-31 11:15

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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2