zoukankan      html  css  js  c++  java
  • awk -f program.file 功能使用

    一、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
    ","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 是能行得通的

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

  • 相关阅读:
    为什么C/C++语言使用指针
    VS2010调试入门指南
    vs2010的11个调试技巧和方法
    排序算法一:快速排序
    Ubuntu下codeblocks汉化
    Ubuntu下Code::Blocks无法编译 /bin/sh: 1: g++ not found 解决办法
    QQ通信原理及QQ是怎么穿透内网进行通信的?
    jackson中自定义处理序列化和反序列化
    Json解析工具Jackson(使用注解)
    jackSon注解– @JsonInclude 注解不返回null值字段
  • 原文地址:https://www.cnblogs.com/irockcode/p/7290980.html
Copyright © 2011-2022 走看看