【问题标题】:how to store the awk command output value into some variable in ksh [duplicate]如何将awk命令输出值存储到ksh中的某个变量中[重复]
【发布时间】:2014-12-15 09:52:29
【问题描述】:
foundflag =  awk -F" " 'FNR==NR{A[$arg1 OFS $PREVFILE];next}
!($arg1 OFS $PREVFILE in A){X++} END{if(!X){print "No diff."} 
else {print "Diff found."}} $arg1 ${PREVFILE}
echo $foundflag

这里比较两个文件,想将 awk 命令结果存储到某个变量中,请在 Ksh 脚本中提供帮助。

【问题讨论】:

  • $arg1 和 $PREVFILE 如何在单引号内工作。
  • 您好,在编辑中插入了单引号。
  • 如果我分配了这样的东西它不起作用 if(!X){foundflag=2;print "0"}

标签: shell ksh


【解决方案1】:

我认为你需要的是:

foundflag=`awk ....`
  • 删除= 周围的空格
  • 将命令放入反引号 (``)

【讨论】:

  • 你说得对,先生,我用 ' 而不是 `.. 现在它的工作谢谢你
  • foundflag=awk -F" " 'FNR==NR{A[$arg1 OFS $PREVFILE];next} !($arg1 OFS $PREVFILE in A){X++} END{if(!X){print "0"} else {print "1"}}' $arg1 ${PREVFILE}这里有什么问题,为什么比较不起作用
  • @jcrshankar 我不明白算法的概念。由于它已经在问题的 cmets 中提及 - $arg1 和 $PREVFILE 在单引号内(可能无法按您的预期工作)。我建议在 END 处转储/检查 A 的内容。
  • 使用 $(..) 获得相同的结果。有助于更复杂的情况。
【解决方案2】:
猜你喜欢
  • 1970-01-01
  • 2013-01-12
  • 2015-03-10
  • 2010-12-24
  • 2022-08-10
  • 2011-12-15
  • 2015-08-07
  • 2013-09-09
  • 1970-01-01
相关资源
最近更新 更多