awk使用shell变量  (可以计算浮点数)

其实在awk里,是不能直接使用shell变量的 
方法是:awk -v 选项让awk 里使用shell变量 
TIME=60 
awk -v time="$TIME" 'BEGIN{FS="|"} {if ($7>time) print $2 }' 
这样要注意:在awk里,time不能加$符号。

网上说如下方法都可行:

一:"'$var'"

这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如:

var="test" 
awk 'BEGIN{print "'$var'"}'

这种写法其实际是双括号变为单括号的常量,传递给了awk.

如果var中含空格,为了shell不把空格作为分格符,便应该如下使用:

var="this is a test" 
awk 'BEGIN{print "'"$var"'"}' 
二:'"$var"'

这种写法与上一种类似.如果变量含空格,则变为'""$var""'较为可靠. 
三.把括起awk程序的''变为"",使用"$var"

如: 
$var="this is a test" 
awk 'BEGIN{print "$var"}" 
这是因为在""里$是特殊字符,而在''里$是普通字符. 
四:export 变量,使用ENVIRON["var"]形式,

如: 
$var="this is a test";export $var 
awk 'BEGIN{print ENVIRON["var"]}' 
五:当然也可以使用-v选项

如: 
$var="this is a test" 
awk -v nvar="$var" '{print nvar}'

这样便把系统变量定义成了awk变量.

awk使用shell变量的更多相关文章

  1. awk字符串操作(字符串链接、传入传出shell变量)

    1.awk基础 awk的环境变量及其意义   https://blog.csdn.net/snowpay/article/details/52451718 linux awk命令详解 https:// ...

  2. SHELL (2) —— Shell变量的核心基础知识和实践

    摘自:Oldboy Linux运维——SHELL编程实战 Shell变量:用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其它的内容. ...

  3. shell 学习笔记1-什么是shell,shell变量

    一.介绍 1.什么是shell Shell 既是一种命令语言,又是一种程序设计语言,他在操作系统得最外层,负责直接与用户对话,把用户得输入解释个OS,并处理各类操作系统得输出结果,输出到屏幕返回个i用 ...

  4. 二、Shell变量

    类型     注释强变量 变量在使用前,必须事先声明,甚至还需要初始化 弱变量 变量用时声明,甚至不区分类型 变量的作用:用来保存变化的数据 变量名 名称固定,由系统设定或用户定义 变量值 根据用户设 ...

  5. AWK调用SHELL,并将变量传递给SHELL

    在Shell脚本中调用awk是非常自然和简单的,以前还写过一个关于awk/shell相互传递变量的文章:awk与shell之间的变量传递方法在awk脚本中,如果需要调用shell脚本/命令,则需要使用 ...

  6. awk中引用shell变量的方法

    1.通过命令行参数定义变量时引用: awk -v awk变量名= shell变量名 #!/bin/bash var4bash=test awk -v var4awk="$var4bash&q ...

  7. 『忘了再学』Shell基础 — 29、AWK内置变量

    目录 1.AWK内置变量 2.练习说明 (1)$n变量练习 (2)FS变量练习 (3)NF变量和NR变量练习 3.总结: 1.AWK内置变量 AWK内置变量如下表: awk内置变量 作用 $0 代表目 ...

  8. shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断

    一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字 ...

  9. awk内引用shell变量【自己手动加精】

    题目 [root@localhost ~]# cat 1.txt iii sss ddd 执行命令 [root@localhost ~]# A=0 [root@localhost ~]# awk '{ ...

随机推荐

  1. jquery动态添加的html,第三方插件无法生效的情况

    今天一个问题纠结了半天,问题如下图  问题大致就是如上,新增的内容死活点不起,插件没有生效,在一个装逼前端群里面问,给我的答案是叫我去了解事件委托,了解一下事件冒泡!! 好吧,我一上午加半个下午的时间 ...

  2. October 29th Week 44th Saturday 2016

    I am a slow walker, but I never walk backwards. 我走得慢,但我从不后退. I walked very slow, sometimes I even sl ...

  3. PHP+JQUEY+AJAX实现分页

      HTML <div id="list">   <ul></ul>  </div>  <div id="pagec ...

  4. php 封装 知识点

    类由众多对象抽象出来的对象由类实例化出来的 成员变量成员方法成员属性 访问修饰符public 公有的protected 受保护的private 私有的 构造函数1.写法特殊2.执行时间特殊 面向对象的 ...

  5. MongoDB 分页查询的方法及性能

    最近有点忙,本来有好多东西可以总结,Redis系列其实还应该有四.五.六...不过<Redis in Action>还没读完,等读完再来总结,不然太水,对不起读者. 自从上次Redis之后 ...

  6. 基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  7. Windows下搭建Wordpress博客网站

    一:安装wamp Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使 ...

  8. js数组操作大全

    原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...

  9. Xcode显示出错

    warning: control reaches end of non-void function 表示有返回值的函数没有return.

  10. linux 查找文件和搜索文件

    按照文件名搜索 find . -name 'file name' grep -lr 'content'  filepath