将 cat/grep/arguments 管道化到 bash 脚本中的变量中

电脑本
#!/bin/bash
DATE=`date +%Y-%m-%d`
HOUR=`date +%H`
ORDERS_THIS_HOUR=`cat cli.log | grep $DATE $HOUR | grep -o "generated for Production" | wc -l`
OUTPUT="$DATE $HOUR : $ORDERS_THIS_HOUR"

echo "$OUTPUT" >> flow_productivity.log

问题出在第二行:grep: 14: No such file or directory.

这是一个示例命令,我想将其结果存储在$ORDERS_THIS_HOUR

cat cli.log | grep "2019-02-13 12" | grep -o "generated for Production" | wc -l

从命令行运行,上面产生了预期的输出。

查尔斯·达菲

首先——因为你没有在扩展周围加上引号,它们作为单独的参数传递给grep. string-splitting 和 globbing 的第一个结果$DATE $HOUR成为grep搜索的文件名,后续的成为搜索的文件名。

除此之外,date无论如何在同一个脚本中多次调用是一个坏主意如果您的脚本在午夜过后运行怎么办?您可以在date一天结束时拨打第一个电话,第二个电话在第二天早上开始时返回。为避免这种风险,请date调用一次,如下所示:

now=$(date '+%Y-%m-%d %H')
msg="generated for Production"
orders_this_hour=$(grep -Ec "($now.*$msg|$msg.*$now)" <cli.log)
output="$now : $orders_this_hour"
echo "$output" >> flow_productivity.log

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将grive命令输出存储到bash脚本中的变量

来自分类Dev

将PHP变量发布到bash脚本中

来自分类Dev

将脚本调用中的变量插入到脚本bash中的字符串中

来自分类Dev

将脚本调用中的变量插入到脚本bash中的字符串中

来自分类Dev

在bash中运行脚本时将变量的内容转储到文件中

来自分类Dev

将jenkins管道中设置的变量传递到shell脚本

来自分类Dev

将 bash 脚本嵌入到 makefile 中

来自分类Dev

将grep输出管道到bash中的grep中

来自分类Dev

如何将变量中存储的字符串从bash脚本传递到sybase SQL IN子句

来自分类Dev

将PATH环境变量导入到由cron启动的Bash脚本中

来自分类Dev

Bash脚本-使用转义的变量将命令传递到另一个命令中

来自分类Dev

将PATH环境变量导入到由cron启动的Bash脚本中

来自分类Dev

Bash脚本-将`curl`输出存储在变量中,然后根据变量中的字符串进行格式化

来自分类Dev

Bash脚本-将`curl`输出存储在变量中,然后根据变量中的字符串进行格式化

来自分类Dev

Bash将grep存储到变量中

来自分类Dev

将参数从bash脚本传递到脚本中的函数

来自分类Dev

将非bash变量从文件读取到bash脚本中

来自分类Dev

Bash脚本将文件中的单词存储在不同的变量中

来自分类Dev

将变量从bash脚本传递到makefile

来自分类Dev

将管道 curl 命令输出获取到 bash 中的变量

来自分类Dev

将命令输出存储到Bash中的变量中

来自分类Dev

将bash中的变量传递到Chef模板中

来自分类Dev

Bash脚本,按内容将文件排序到文件夹;如何解决变量中的通配符?

来自分类Dev

将awk命令存储在bash脚本的变量中

来自分类Dev

将bash输出分配给.lua脚本中的变量

来自分类Dev

Bash脚本-将变量包装在引号中

来自分类Dev

将命令替换为bash脚本中的变量

来自分类Dev

将时间命令的结果输出到bash脚本中的变量

来自分类Dev

将脚本执行输出存储在 bash 变量中

Related 相关文章

  1. 1

    将grive命令输出存储到bash脚本中的变量

  2. 2

    将PHP变量发布到bash脚本中

  3. 3

    将脚本调用中的变量插入到脚本bash中的字符串中

  4. 4

    将脚本调用中的变量插入到脚本bash中的字符串中

  5. 5

    在bash中运行脚本时将变量的内容转储到文件中

  6. 6

    将jenkins管道中设置的变量传递到shell脚本

  7. 7

    将 bash 脚本嵌入到 makefile 中

  8. 8

    将grep输出管道到bash中的grep中

  9. 9

    如何将变量中存储的字符串从bash脚本传递到sybase SQL IN子句

  10. 10

    将PATH环境变量导入到由cron启动的Bash脚本中

  11. 11

    Bash脚本-使用转义的变量将命令传递到另一个命令中

  12. 12

    将PATH环境变量导入到由cron启动的Bash脚本中

  13. 13

    Bash脚本-将`curl`输出存储在变量中,然后根据变量中的字符串进行格式化

  14. 14

    Bash脚本-将`curl`输出存储在变量中,然后根据变量中的字符串进行格式化

  15. 15

    Bash将grep存储到变量中

  16. 16

    将参数从bash脚本传递到脚本中的函数

  17. 17

    将非bash变量从文件读取到bash脚本中

  18. 18

    Bash脚本将文件中的单词存储在不同的变量中

  19. 19

    将变量从bash脚本传递到makefile

  20. 20

    将管道 curl 命令输出获取到 bash 中的变量

  21. 21

    将命令输出存储到Bash中的变量中

  22. 22

    将bash中的变量传递到Chef模板中

  23. 23

    Bash脚本,按内容将文件排序到文件夹;如何解决变量中的通配符?

  24. 24

    将awk命令存储在bash脚本的变量中

  25. 25

    将bash输出分配给.lua脚本中的变量

  26. 26

    Bash脚本-将变量包装在引号中

  27. 27

    将命令替换为bash脚本中的变量

  28. 28

    将时间命令的结果输出到bash脚本中的变量

  29. 29

    将脚本执行输出存储在 bash 变量中

热门标签

归档