【关于AWK在shell中的应用】

xikunboom 2017-01-17 11:26:56
请问想查看日志第一列中包含201603的一列,awk '{if($1~/201603/)print}' moni.log>a.txt
这样的写法是可以正常输出的,但是我想改成这样的时候,awk '{if($1~/`date +%Y%m --date="-10 month"`/)print}' moni.log>a.txt
无法输出到a.TXT中,我试图将`date +%Y%m --date="-10 month"`赋给一个变量,同样没有输出,求教这是为什么
...全文
206 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nswcfd 2017-01-20
  • 打赏
  • 举报
回复
/regex/ 里只能是字面常量吧,不能是变量。 可以使用shell变量进行拼接,例如 seq 20 | { v="2|3"; awk "/$v/"; } 或者使用awk自身的match函数,例如 seq 20 | awk 'match($0,v)' v=2
nswcfd 2017-01-20
  • 打赏
  • 举报
回复
`cmd`是shell的概念,不是awk的。
xikunboom 2017-01-18
  • 打赏
  • 举报
回复
求解答 顶顶

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧