博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk -v 引用系统变量的问题
阅读量:6971 次
发布时间:2019-06-27

本文共 528 字,大约阅读时间需要 1 分钟。

常会遇到,使用awk引用系统变量的问题,由于awk后的参数一般是包含在一对单引号内(例:awk '{print $NF}' filename)

 这就直接导致引号内的变量是不会被解释出来的,而一种简单的方式是使用双引号来代替单引号:

如:

arg=abc

awk "/$arg/{print}" filename

这样$arg就可以正常解释,但这种方法也不是万能的。

lsdate=`date +%F -d "-1 days"` #定义一个日期格式

ls --full |awk "$6>=$lsdate {print $NF}" #列出一天前到现在的文件(这时会报错的)

这里报了一个方法错误,如果把2014-08-14用引号括起来,就没问题了(像这样:ls --full |awk "$6==‘$lsdate’ {print $NF}" ),但括起来后又不能解释变量

幸好awk为此提供了一个-v的参数,可以把外部变量映射为自己的内部变量

ls --full |awk -v var1=${lsdate} '$6>=var1 {print $NF}'

转载于:https://www.cnblogs.com/xuxyblog/p/3914998.html

你可能感兴趣的文章
iOS 开发中 runtime 常用的几种方法
查看>>
JS执行机制(浏览器事件环 vs Node事件环)
查看>>
树形数据结构总结一(堆,Trie,并查集)
查看>>
企业上云的四个阶段
查看>>
九、 一个简单的播放器(各自同步)
查看>>
一步一图,带你了解分布式架构的前世今生!
查看>>
转行程序员深漂的这三年 #3
查看>>
[转载]责任链模式
查看>>
揭秘!双11万亿流量下的分布式缓存系统 Tair
查看>>
[译] iPhone X 网页设计
查看>>
webpack入门及踩坑应对指南
查看>>
对于数据库优化的理解
查看>>
python学习三:列表、元组、字典、集合
查看>>
Netty 框架总结「ChannelHandler 及 EventLoop」
查看>>
Linux 下启动 Tomcat 抛出Can't connect to X11 window server 问题的解决方法
查看>>
Hexo博客NexT主题美化之显示当前浏览进度
查看>>
java版b2b2c社交电商spring cloud分布式微服务(七)springboot开启声明式事务
查看>>
品质生活正式开启,欧普照明&华为智选再创智能家居里程碑式突破
查看>>
【本人秃顶程序员】分库分表怎么才能无限扩容,看这篇文章就对了
查看>>
迁移潮来袭!数十个项目宣布即将停止支持 Python 2
查看>>