从bash脚本调用awk脚本时出错

Shuvo Shams

以下是从bash脚本调用awk脚本Analyze_Stat.awk的正确方法吗?从命令提示符处执行时,awk脚本可以正常工作。我正在尝试将参数$ 4,$ 5,$ 6作为值传递给awk脚本中的变量Threshold,语法正确吗?谢谢。

 #!/bin/bash

 #arguments passed
 if [ "$#" -ne 6 ]
 then
    echo "Enter all arguments: Stat_Type Host Date(yyyymmdd) R1 R2 R3"
    exit
 fi

 Stat_File="/path/to/stat/"$1"."$2"."$3"*.stat"

 k=4
 for i in  {'Stat1','Stat2','Stat3'}
 do
    `grep -i $i $Stat_File > "Temp/"$i".out"`
    `awk -v Threshold="$"$k -f Analyze_Stat.awk "Temp/"$i".out"`
    k=$((k+1))
 done
冷静的

我不确定通过在命令替换(反引号)中执行grep和awk期望得到什么行为。如果您恰好有三个迭代,则对这三个步骤进行硬编码是最简单的解决方案:-)

grep -i 'Stat1' $Stat_File | awk -v Threshold="$4" -f Analyze_Stat.awk
grep -i 'Stat2' $Stat_File | awk -v Threshold="$5" -f Analyze_Stat.awk
grep -i 'Stat3' $Stat_File | awk -v Threshold="$6" -f Analyze_Stat.awk

如果您喜欢循环,我建议如下:

shift 3; i=1
for arg in "$@"; do
    grep -i "Stat$i" $Stat_File | awk -v Threshold="$arg" -f Analyze_Stat.awk
    let i++
done

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从bash脚本执行lsof时出错

来自分类Dev

在 bash 脚本中连接 var 时出错

来自分类Dev

从bash调用R脚本时退出代码

来自分类Dev

bash脚本tput出错

来自分类Dev

如何在awk内的bash脚本中调用bash函数?

来自分类Dev

从Sieve脚本调用Bash脚本

来自分类Dev

在Shell脚本中执行awk命令时出错

来自分类Dev

注入脚本时出错

来自分类Dev

谁 awk Bash脚本

来自分类Dev

谁 awk Bash脚本

来自分类Dev

运行Shell脚本时出错:“管道调用失败”

来自分类Dev

调用生成matplotlib图并将其保存的脚本时出错

来自分类Dev

连接bash脚本中的目录路径时出错

来自分类Dev

连接bash脚本中的目录路径时出错

来自分类Dev

在shell脚本变量中执行bash命令时出错

来自分类Dev

在bash for循环中组合python脚本时出错

来自分类Dev

验证编码的脚本时出错

来自分类Dev

执行Shell脚本时出错

来自分类Dev

运行python脚本时出错

来自分类Dev

Roslyn安装脚本时出错

来自分类Dev

运行脚本时出错

来自分类Dev

验证编码的脚本时出错

来自分类Dev

运行python脚本时出错

来自分类Dev

运行screeps脚本时出错

来自分类Dev

在bash脚本的循环中调用Expect脚本

来自分类Dev

在bash脚本失败时调用脚本

来自分类Dev

使用Python调用Bash脚本时为什么返回256

来自分类Dev

调用bash脚本中的函数时出现问题

来自分类Dev

当从内部递归调用自身时,Bash 脚本循环过早结束