0

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

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

谢谢

4

1 回答 1

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 脚本。把所有东西都放在一条线上并不总是最好的解决方案。

于 2013-05-14T12:24:44.173 回答