【问题标题】:How to count number of occurences of a word in a multi-line variable in a bash script如何计算bash脚本中多行变量中单词的出现次数
【发布时间】:2020-07-05 20:52:44
【问题描述】:

我有一个 bash 脚本,它从命令读取到 var。

类似

status="$(somescript.sh 2>&1)" #yeah the script prints to STDERR with RC=0...

变量状态包含如下内容:

bla bla
-------
123 OK
456 OK
789 OK

现在我只想计算 var 状态中出现“OK”的次数,以便稍后检查 count 是否为 -lt 3

我尝试使用 IFS=... 从 var 状态创建一个数组,但在分配时有些东西不起作用,

我在 bash 脚本中尝试过 grep + wc,

我已经在脚本中尝试了 tr,但是 var status 扩展失败了,

网上所有的例子都是从文件中读取的,而不是从变量中读取的。

但我在从 bash 变量读取的 bash 脚本中。

【问题讨论】:

  • grep -iFc 'OK' <<< "$status" 应该可以工作。
  • 非常感谢,这行得通。请注意,生成的数字需要减少 1。

标签: bash variables count var


【解决方案1】:
grep -o 'OK' <<< $status |  wc -l

演示:

-------
123 OK
456 OK
789 OK' 
$grep -o 'OK' <<< $var 
OK
OK
OK
$grep -o 'OK' <<< $var  |  wc -l
3
$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2012-08-09
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多