bash - 获取零的长度(被一个打断)

标签 bash awk

我有一长列 1 和 0:

0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
....

我可以很容易地得到 1 之间零的平均数量(只是总数/个):

ones=$(grep -c 1 file.txt)
lines=$(wc -l < file.txt)
echo "$lines / $ones" | bc -l

但是我怎样才能得到一个之间的零字符串的长度呢?在上面的简短示例中,它将是:

3
5
5
2

最佳答案

我将包含 uniq 以获得更易于阅读的方法:

uniq -c file.txt | awk '/ 0$/ {print $1}'

关于bash - 获取零的长度(被一个打断),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28414979/

相关文章:

linux - 如何通过将 ids 列表与 LINUX 中的另一个数据文件进行比较来给予 ids 列表相同的排名?

bash - 在私有(private)以太坊区 block 链上生成 Enode?

python - 自定义 Python 终端不显示 Bash 提示符

shell - 仅当它们匹配模式时才删除重复的行

linux - 如果 4 个字符长,awk 可能只输出?

linux - 如何在第二组单引号之间制作awk抓取字符串

linux - 在 dockerfile 中使用 sed 或 awk 编辑 conf 文件并更改值?

bash - shell 脚本 grep 来 grep 一个字符串

linux - bash 中有趣的 grep 匹配

linux - 将 df 存储在变量中不起作用