回答
这会做你想要什么:
echo "1,2,3" | tr -cd ',' | wc -c
隔离逗号,计算行:
echo "$VAR"|grep -o ,|wc -l
关闭使用纯的bash我的头顶:
var="1,2,3,4"
temp=${var//[^,]/}
echo ${#temp}
将第二行更改为:'temp = $ {var // [^,] /}',然后删除任何非逗号。 – 2010-02-02 10:04:36
良好的通话,感谢提醒 – SiegeX 2010-02-02 10:09:35
没有外部程序的纯粹bash解决方案:
$ X=1,2,3,4
$ count=$(($(IFS=,; set -- $X; echo $#) - 1))
$ echo $count
3
$
注意:这破坏了您的位置参数。
评价和单引号是不必要的。 – 2010-02-02 10:12:46
@丹尼斯:好的。我摆脱了他们。 – camh 2010-02-02 12:05:08
另一个纯击溶液:
var="bbb,1,2,3,4,a,b,qwerty,,,"
saveIFS="$IFS"
IFS=','
var=($var)x
IFS="$saveIFS"
echo $((${#var[@]} - 1))
将输出 “10” 以显示的字符串。
不适用于'var =“1,2,3”'(似乎只有在尾部有逗号时才起作用)。 – 2010-02-02 10:15:42
@Alok:谢谢你指出。现在已修好。不过,我更喜欢** SiegeX的**版本。 – 2010-02-02 14:54:30
非常简单地使用awk
$ echo 1,2,3,4 | awk -F"," '{print NF-1}'
3
只有外壳
$ s="1,2,3,4"
$ IFS=","
$ set -- $s
$ echo $(($#-1))
3
echo '1,2,3' | grep -o ',' | wc -l
- 1. 让数字在特定的列在BASH
- 2. 递归计算特定文件BASH
- 3. 在特定字符的特定值计数下降列
- 4. 参数在bash脚本特殊字符
- 5. 如何在bash中只保留特定的数字?
- 6. 按照数字排序文件后,从特定的字bash
- 7. 计数阵列始于特定字符
- 8. Bash String删除特定字符
- 9. 计数数组项并在特定数字后添加div
- 10. 写特殊字符在bash字符串
- 11. 计数器在bash脚本
- 12. bash数组中的元素不以特定字符开头
- 13. 如何从bash中提取df的特定数字?
- 14. 如何删除字符在特定的列,并与数除以它在bash
- 15. 计数特定属性
- 16. 特定值的总计数
- 17. 逻辑特定计数
- 18. 计数由特定类
- 19. Bash复制特定文件
- 20. 基于R计算在特定月份的特定天数
- 21. 在特定月份中计数条目
- 22. 如何在特定字符串中统计unix中的行数
- 23. 发生在特定月份计数日期字段
- 24. 如何计算在JavaScript中的特定数字,fizzbuzz
- 25. 计数特定字符串的发生在一个文件
- 26. 的Python:在字典计数特定事件
- 27. 更改特定的线和在bash
- 28. BASH:插入文本在特定位置
- 29. 在Bash中限制特定变量
- 30. Bash:仅在特定字符之后将IFS设置为空格?
感谢我想要什么;) – soField 2010-02-02 09:35:18
不知道TR -c使用的,漂亮的 – 2010-02-02 09:59:11
实际上TR -cd正在完成这项工作:) – soField 2010-02-04 08:36:49