一、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. C# Main函数详解

    2018-01-15 22:10:59  一.Main()方法的简介 1.唯一性.一般情况下,一个C#可执行程序只有一个Main函数,作为程序入口.但是在某些情况(如单元测试中),程序拥有多个Main ...

  2. Redis随笔(二)redis desktop manager 安装并且连接redis服务器

    1.首先在win10下安装redis desktop manager 2.查看虚拟机防火墙状态,启动状态,则关闭掉 查看防火墙状态: systemctl status firewalld.servic ...

  3. [转]python执行bash指令,如果指令返回错误,如何优雅的结束python程序

    如果是有返回值的可执行文件可以直接获取return code, 如果error code 直接退出. import os ret = os.system("COMMAND LINE" ...

  4. Android自动轮播的三种方式

    方法一:在runable里判断,不是最后条目的时候++,是的话=0,获取当前条目,给viewpager设置,然后在runable里递归post,在外面也post这个run // 自动轮播条显示 if ...

  5. ascii、unicode、utf-8、gbk区别及转换

    一.编码 ascii: A:00000010 8位 一个字节 unicode: A:00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00 ...

  6. 查找算法的实现(C/C++实现)

    存档: #include <stdio.h> #include <stdlib.h> #define max 20 typedef int keytype; #include ...

  7. linux下python2升级python3,python2和python3并存

    wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz 解压:tar -xzvf Python-3.6.4.tgz cd Pytho ...

  8. light oj 1184 Marriage Media

    题目: You run a marriage media. You take some profiles for men and women, and your task is to arrange ...

  9. Oracle_SQL99_连接查询

    Oracle_SQL99_连接查询 交叉连接 cross join   --交叉连接 cross join --作用:产生两个表的笛卡尔积 select * from emp cross join d ...

  10. Laravel 验证中文本地化

    1.使用bootsrap好看的提示样式 但是会提示英文 2.将提示中文本地化 2.1.在/resouce/lang下创建文件夹:zh 2.2.已经有小伙伴做好了翻译 https://gist.gith ...