如何防止awk命令扩展?

时间:2020-06-19 13:44:49

标签: bash awk command-prompt

我目前正在盯着我的shell脚本中涉及awk的问题。

我的目标是将csv文件的一列总和添加到自定义命令提示符(PS1)中。我目前拥有的是以下物品。

  colToUse=$(awk -F ';' -v var="$1" 'FNR==1 {for(counter=1; counter<= NF; counter++){ if($counter == var) break;}} END{print counter}' data.csv)
  check=$(awk -F ';' 'END{ print NF }' data.csv)
  if [[ $colToUse -eq check+1 ]]
  then
    colToUse=`expr $colToUse - 1`
  fi
  var=$(awk -F ';' -v loc="$colToUse" '{s+=$loc} END{print s}' data.csv)
  echo $var

现在可以正常工作了;第一个awk遍历行以查找与$ 1匹配的标头,第二个awk解决了由于某种原因而超出最终标头的问题,第三个awk然后计算所选标头的列中所有值的总和

我的问题是,产生的值将是静态的-插入PS1后,它将保持不变。我正在寻找一种逃避awk的方法,以便可以将其放入PS1,并在每次将命令插入提示时重新计算总和。我将如何去做呢?

0 个答案:

没有答案
相关问题