一、awk -f program.file 功能使用

一直没有使用过awk的-f功能,感觉鸡肋,不是很实用,更多的是因为没有需求的原因

下面介绍下awk -f的使用方法

awk可以指定默认的文件路径,使用AWKPATH这个变量,然后source即可

[root@nlocalhost ~]# tail -2 /etc/profile

export AWKPATH=/usr/local/lib:/tmp
[root@nlocalhost ~]# echo $AWKPATH
/usr/local/lib:/tmp
[root@nlocalhost ~]# cat /usr/local/lib/t.awk
#!/bin/awk BEGIN { print 111 } [root@nlocalhost ~]# cat /tmp/f.awk
#!/bin/awk BEGIN {print 333}
  • awk -f使用必须使用全名称,若简写为awk -f f 则会报警

awk: fatal: can't open source file `f' for reading (No such file or directory)

六神在群里发的截图并没有说一定要使用全名,但我使用的版本需要全名
GNU bash, version 4.1.2(2)-release-(x86_64-redhat-linux-gnu) | GNU Awk 3.1.7

[root@nlocalhost ~]# echo | awk -f t.awk

111

[root@nlocalhost ~]# echo | awk -f f.awk

333

[root@nlocalhost ~]# awk -f f.awk

333

[root@nlocalhost ~]# awk -f /tmp/f.awk

333

当然这里是用绝对路径也是可以的,虽然这样设置AWKPATH就没有意义了

二、awk的另一种执行方式

[root@nlocalhost ~]# vim awk.awk
#!/usr/bin/awk -f
BEGIN { printf "%s\n","Writing my first awk executable script!" }
[root@nlocalhost ~]# chmod +x awk.awk
[root@nlocalhost ~]# ./awk.awk
Writing my first awk executable script!

经过测试发现这样也行,似乎又回到原点。。。跟上面的一样了

[root@nlocalhost ~]# awk -f awk.awk
Writing my first awk executable script!
awk脚本的第一行到底应该写什么,我也没搞懂,但写#!/bin/awk 是能行得通的

好了,没有太大需求,先这样吧

awk -f program.file 功能使用的更多相关文章

  1. awk的批量replace功能

    awk的批量replace功能 需求 现在需要替换一个文本 文本内容如下 $cat file MD_D1TS_1_060_I MD_D1TS_1_061_F MD_D1TS_1_062_U MD_D1 ...

  2. centos 正则,grep,egrep,流式编辑器 sed,awk -F 多个分隔符 通配符 特殊符号. * + ? 总结 问加星 cat -n nl 输出文件内容并加上行号 alias放~/.bash_profile 2015-4-10 第十三节课

    centos 正则,grep,egrep,流式编辑器 sed,awk -F 多个分隔符  通配符 特殊符号. * + ? 总结  问加星 cat -n  nl  输出文件内容并加上行号 alias放~ ...

  3. 关于awk的范围模式功能问题

    关于awk的范围模式功能问题 man awk中这样写到 The pattern1, pattern2 form of an expression is called a range pattern. ...

  4. 解决A program file was not specified in the launch configuration.问题

        问题描述: 在eclipse 中开发c++或c是比较麻烦的事情,刚刚配置好mingw32和cdt和环境变量后,新建一个hello world的c++项目还是会出现问题.主要是在编译的时候会提示 ...

  5. 【Linux】命令写在文件中并调用awk -f

    我们在使用awk命令的时候,有时候命令特别长,在终端写出来格式太乱,难以阅读,以下是一个将命令写在文件中,并使用awk调用的具体案例 1.现在有文件file3.txt,内容如下: 2.ak2.awk脚 ...

  6. ps aux|awk -F'[ ]+' '$3>90{print $2}'|xargs -n1 kill -9

    ps aux|awk -F'[ ]+' '$3>90{print $2}'|xargs -n1 kill -9

  7. cat /proc/cpuinfo | awk -F: '/name/{print $2}' | uniq -c

    cat /proc/cpuinfo | awk -F: '/name/{print $2}' | uniq -c

  8. 实现类似tail -f file功能

    python版本py3 tail -f file是打印最后10行,然后跟踪文件追加的内容打印出来. python3 以为本方式打开的话,不能回退(f.seek(-1,1)),所有以'rb'方式打开文件 ...

  9. [转]Walkthrough: Your First F# Program

    本文转自:http://msdn.microsoft.com/en-us/library/vstudio/dd233160(v=vs.100).aspx   Visual Studio 2010 in ...

随机推荐

  1. ETL实践--Spark做数据清洗

    ETL实践--Spark做数据清洗 上篇博客,说的是用hive代替kettle的表关联.是为了提高效率. 本文要说的spark就不光是为了效率的问题. 1.用spark的原因 (如果是一个sql能搞定 ...

  2. Chris Richardson微服务翻译:微服务介绍

    作者简介:Chris Richardson,世界著名的软件架构师,经典著作<POJOS IN ACTION>的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注, ...

  3. web.xml解析

    常用元素及含义 <!-- standalone 定义了外部定义的 DTD 文件的存在性,有效值是 yes和 no --> <?xml version="1.0" ...

  4. 【原】IOS兼容性之APP内fixed定位头部跳动

    兼容现象: 在App的webview里边,我们有时候会在页面里写自定义头部,会使用到fixed定位,我们想要的效果是,页面无论怎么滑动,这个自定义的头部始终是固定在顶部的,但是在ios 11以上的版本 ...

  5. meta标签有何作用?一起来学习一下

    平日里总是沉迷于写页面写组件思考业务逻辑,解决冲突找出bug,猛的发现躲在head标签里的一大串标签时什么?这么多meta标签好多居然都不知其存在的意义.所以决定记录一下学习到的知识点. 先搞明白以上 ...

  6. 学习笔记-echarts x,y轴样式

    //改变坐标轴文本的样式axisLabel:{ textStyle:{ color:'#fff' }},//改变坐标轴和文本的样式axisLine:{ lineStyle:{ color:'#fff' ...

  7. ThinkPHP基础知识

    1.入口文件中定义的内容 // 检测PHP环境if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 ! ...

  8. Spring框架学习笔记(4)——配置bean more

    1.配置List属性 <!-- 配置List属性 --> <bean id="person4" class="com.broadtext.beans.c ...

  9. spring中用到的设计模式

    http://www.cnblogs.com/pengmengnan/p/6717766.html 一 : 工厂模式工厂模式主要是为创建对象提供过度接口,以便将创建对象的具体 过程屏蔽隔离起来,达到提 ...

  10. Docker版本升级至17.03

    2017/3/3,Docker官方发表了一篇博客,Docker版本从1.13.*直接跳入17.03,该版本的意思是17年3月.同时,还声明了Docker以后会以CE(Community Edition ...