Awk前一天

时间:2013-05-14 12:14:22

标签: awk

出于某种原因,我无法完成这项工作?我想比较前一天和当前日期文件。

awk 'FNR==NR{a[NR]=$2;next}{print $1,$2-a[FNR]}' Router_Evi_`(strftime("%y-%m-%d", systime()-86400))`.txt Router_Evi_`(date +"%y-%m-%d")`.txt > temp_plus_minus.txt

由于

1 个答案:

答案 0 :(得分:1)

您对awk脚本和shell的$(..)

感到困惑
`...`

你给出的命令是:

awk '....' foo_`(awkcode)`.txt bar_`(shell cmd)`.txt
                    ^
---problem----------|

这不起作用。因为你不能让shell解释并执行你的awk代码。你应该在反引号中编写shell命令/代码。或者像这样:

foo_$(awk 'BEGIN{print strftime("%y-%m-%d", systime()-86400)}').txt

最好先在变量中获取两个文件名(如果它们是动态的),然后调用awk脚本。使一切成为一条线并不总是最好的解决方案。