博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk BEGIN使用一例
阅读量:6846 次
发布时间:2019-06-26

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

    先看看AWK有诸多函数的两个:

    tolower( String )    返回 String 参数指定的字符串,字符串中每个大写字符将更改为小写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。

    toupper( String )    返回 String 参数指定的字符串,字符串中每个小写字符将更改为大写。大写和小写的映射由当前语言环境的 LC_CTYPE 范畴定义。

 

下面和AWK BEGIN用法一例

  1. #!/usr/bin/awk -f
  2. BEGIN{
  3.     hfile = "awktest.h"
  4.     header="_"toupper(hfile)"_"
  5.     gsub(/\./,"_",header)
  6.     print \
  7.     "#ifndef " header "\n" \
  8.     "#define " header "\n" >hfile
  9. }

关于:#!/usr/bin/awk -f

    Linux下脚本的第一行#! 是指明本脚本使用哪个解释器来执行当前脚本,从头文件看出这个一个awk脚本,第一行的意思可以理解为 使用 /usr/bin/awk -f 脚本名 来执行当前脚本:
比如脚本:test.awk的第一行是#!/usr/bin/awk -f那么执行这个脚本的时候就会根据第一行去寻找解释器,效果相当于在shell下执行
    /usr/bin/awk -f test.akw
    这里的-f是awk命令的一个参数,是从文件中读取脚本执行的意思.

  1. hfile=”awktest.h”
  2. header=”_”toupper(hfile)”_”
  3. =>
  4. header=”_AWKTEST.H_“

    还有一个点如何去掉?

    gsub( Ere, Repl, [ In ] )    除了正则表达式所有具体值被替代这点,它和 sub 函数完全一样地执行。

    gsub(/\./,”_”,header)

此时header=”_AWKTEST_H_”

 

    另外,AWK中的print说明:

  1. awk '{print;}' 文件名 -------打印指定文件所有行,输出在控制台
  2. awk '{print $1,$2,$NF;}' 文件名 -------打印指定文件中的 第一列,第二列和最后一列
参考文献:
http://zh.wikipedia.org/wiki/Awk
http://zhidao.baidu.com/link?url=A-gu8ZRRlsLKJ35WuiH_dk5bA4kP4IgGvBSInbHsv9hq1SwTB9PKE9_65e4Q7aE6-KqT3S703Vs1OiHsf3GTj_

转载地址:http://qwvul.baihongyu.com/

你可能感兴趣的文章
Java经典设计模式基础
查看>>
hive 脚本
查看>>
Java自定义一个工具类,可以给任何变量赋值
查看>>
关联关系映射
查看>>
软件保护机制的工具VMProtect
查看>>
三栏布局
查看>>
Golang 用指定网卡的IP发送HTTP请求
查看>>
玩转Android---UI篇---Button(按钮)
查看>>
java表达式引擎
查看>>
写脚本时的一些心得
查看>>
递归实现后序遍历二叉树
查看>>
点击UIViewController任意位置,收起键盘的3种方法
查看>>
微信开发,网页扫码登录和公众号授权登录
查看>>
mysql给root开启远程访问权限,修改root密码
查看>>
网站安全狗IIS版 V4.0.15586 发布
查看>>
Docker存储驱动之AUFS简介
查看>>
Avro
查看>>
Java中如何封装自己的类,建立并使用自己的类库?
查看>>
什么是CDN?什么是CDN管理系统?
查看>>
run fsck manually
查看>>