Linux-awk

  1. printf命令和print命令

    printf命令

    格式:printf ‘输出类型输出格式’ 输出内容,不会自动换行,不支持数据流,不能用在管道符中

    输出类型:%ns:输出n个字符 %ni:输出n个整数 %m.nf:输出浮点数,总共m位,小数位数为n位

    输出格式:\n 换行 \r回车 \t制表符

    作用:主要用在awk命令中输出数据
    eg

    printf  "%s"   $(cat test.txt)   以字符串形式输出文件中的内容,不能直接以文件名作为参数
    printf  "%s\t%s\t%s\n"  1 2 3 输出1    2    3

    print命令

    格式:print 字符串

    作用:主要用在awk命令中输出数据

    注意:字符串需要使用双引号包起来。使用$符号调用变量时,放在双引号外边,使用逗号分开,输出时会使用空格将参数分开,否则参数会连在一起。另外,会自动换行。遇到特殊符号比如\n 以及\t等特殊符号时,会转义。在awk命令中,如果print缺少参数,则输出整行
    eg

    date | awk '{print "Today is \n" $1,$2,$3}'
  2. AWK编程

    概念

    awk可以通过文件或标准输入或其他命令的结果作为输入,对数据进行分割得到记录和字段,每一行作为一个记录,记录间默认使用换行符作为分割符,对记录进行分割得到字段,默认使用空格、制表符作为字段的分割符。¥0指代输入文件的记录, ¥n代表记录的第n个字段。使用END模式时,必须输入文件名,使用BEGIN模式时可以不用输入文件名

    格式:awk ‘条件1{动作1}条件2{动作2}条件3{动作3}…..’ 文件名

    条件:一般使用正则表达式、关系表达式、比较表达式、作为条件,在条件满足时执行对应动作,也可以不写条件只写动作。

    动作:格式化输出、流程控制语句,如果动作中含有多条语句,则用分号分开,如果不写动作,则默认为输出,{}代表空操作,即不执行任何操作,也不输出!

    awk命令可以使用内置变量,常用内置变量有

变量描述
NR代表行号
NF代表记录有几个字段
FS代表输入字段分隔符,默认为空格或制表符
RS代表输入记录分隔符,默认为换行符
OFS代表输出字段分隔符,默认为空格或制表符
ORS代表输出记录分隔符,默认为换行符
ARGV数组,用于存放awk命令的参数,数组下标从0开始,ARGV[0]代表awk
ARGC代表命令行参数个数

eg
“`
vi awkcommandscript
BEGIN {
for(i=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值