使用管道输出通过while循环添加数字

无名

所以我正在运行一个randomfile,它可以接收未显示的几个参数($ 1和$ 2),然后通过参数传递内容...

使用第三个参数,我应该在file1中搜索$ 3(或不是$ 3),并将此实例的数量添加到file2中...

这工作正常:

cat file1 | grep $3 | wc -l | while read line1; do echo $3 $line1 > file2; done

cat file1 | grep -v $3 | wc -l | while read line2; do echo not $3 $line2 >> file2; done

现在,我正在尝试读取包含搜索实例的file2,我想要获取文件中的数字,获取总和,然后追加到file2。因此,例如,如果$ 3是“ baby”:

file2将包含-

baby 30
not baby 20

然后我想得到20和30的总和并附加到同一file2,因此它看起来像-

baby 30
not baby 20
total 50

这是我目前所拥有的:

cat file2 | grep -o '[0-9]*' | while read num ; do sum=$(($sum + $num));echo "total $sum" >> file2; done

我的file2最后以总计的两行显示,其中之一是我需要的-

baby 30
not baby 20
total 30
total 50

我在这里想念什么?

根据

发生这种情况是因为您的回声在for循环内。

显而易见的解决方案是将其移至for循环之外,但是如果尝试执行此操作,则会发现未设置$ sum,这是因为while循环和管道实际上是作为它们自己的进程生成的。您可以使用大括号({})对命令进行分组来解决此问题

cat file2 | grep -o '[0-9]*' | { while read num ; do sum=$(($sum + $num)); done; echo "total $sum" >> file2; }

其他答案的确指出了执行此操作的更好方法,但这有望帮助您了解正在发生的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从while循环中添加数字?

来自分类Dev

添加数字时,我应该使用什么而不是“for”循环?

来自分类Dev

如何通过输入自动添加数字

来自分类Dev

如何通过AS3中的循环在数组中添加数字?

来自分类Dev

Java Swing使用按钮输出来添加数字在文本字段中

来自分类Dev

如何在Java中使用while循环叠加数字模式?

来自分类Dev

通过生成包含数字的随机任务来添加数字

来自分类Dev

使用python向列添加数字

来自分类Dev

从使用中的数组中添加数字

来自分类Dev

使用jQuery单击添加数字

来自分类Dev

使用for循环在链表中添加数据

来自分类Dev

Laravel 5.2 League CSV输出在末尾添加数字

来自分类Dev

Laravel 5.2 League CSV输出在末尾添加数字

来自分类Dev

如何在循环中的scanf内添加数字?

来自分类Dev

如何在循环中的scanf内添加数字?

来自分类Dev

从循环内部添加数字以显示外部总数。爪哇

来自分类Dev

通过在范围末尾添加数字来创建多个变量

来自分类Dev

如何通过排除SQL中的行来添加数字

来自分类Dev

通过For循环添加数组偶数值。C#

来自分类Dev

在数组中添加数字,没有任何循环。我解决了使用递归。有没有更好的办法?

来自分类Dev

使用 while 循环输出阶乘

来自分类Dev

(BackgroundWorker)我正在使用while()尝试输出数字,但是我只有最后一个循环输出的数字

来自分类Dev

猜数字游戏,如何使用while循环添加或显示剩余的猜数字

来自分类Dev

如何在单个管道中收集while循环的输出?

来自分类Dev

将进程的管道输出传递给sh while循环?

来自分类Dev

如何在单个管道中收集while循环的输出?

来自分类Dev

在for循环中加数字

来自分类Dev

如何使用jQuery添加数字以输入ID名称

来自分类Dev

使用jQuery在表行中添加数字

Related 相关文章

  1. 1

    如何从while循环中添加数字?

  2. 2

    添加数字时,我应该使用什么而不是“for”循环?

  3. 3

    如何通过输入自动添加数字

  4. 4

    如何通过AS3中的循环在数组中添加数字?

  5. 5

    Java Swing使用按钮输出来添加数字在文本字段中

  6. 6

    如何在Java中使用while循环叠加数字模式?

  7. 7

    通过生成包含数字的随机任务来添加数字

  8. 8

    使用python向列添加数字

  9. 9

    从使用中的数组中添加数字

  10. 10

    使用jQuery单击添加数字

  11. 11

    使用for循环在链表中添加数据

  12. 12

    Laravel 5.2 League CSV输出在末尾添加数字

  13. 13

    Laravel 5.2 League CSV输出在末尾添加数字

  14. 14

    如何在循环中的scanf内添加数字?

  15. 15

    如何在循环中的scanf内添加数字?

  16. 16

    从循环内部添加数字以显示外部总数。爪哇

  17. 17

    通过在范围末尾添加数字来创建多个变量

  18. 18

    如何通过排除SQL中的行来添加数字

  19. 19

    通过For循环添加数组偶数值。C#

  20. 20

    在数组中添加数字,没有任何循环。我解决了使用递归。有没有更好的办法?

  21. 21

    使用 while 循环输出阶乘

  22. 22

    (BackgroundWorker)我正在使用while()尝试输出数字,但是我只有最后一个循环输出的数字

  23. 23

    猜数字游戏,如何使用while循环添加或显示剩余的猜数字

  24. 24

    如何在单个管道中收集while循环的输出?

  25. 25

    将进程的管道输出传递给sh while循环?

  26. 26

    如何在单个管道中收集while循环的输出?

  27. 27

    在for循环中加数字

  28. 28

    如何使用jQuery添加数字以输入ID名称

  29. 29

    使用jQuery在表行中添加数字

热门标签

归档