awk 学习记录1

awk 使用的情形

  • 直接在命令行下使用

如某文件为test.txt
现在在使用awk打印空行
可以这样

cat test.txt

文件内容如下


hello world
hello world
hello world
hello world
hello world
hello world
world
world
world
xxxddsdad


总用量 24
-rwxrwxr-x 1 oc oc 114 Apr 11 01:09 expcect_test.sh
-rw-rw-r-- 1 oc oc   6 Apr 12 20:27 file1
-rw-rw-r-- 1 oc oc   6 Apr 12 20:27 file2
-rw-rw-r-- 1 oc oc 206 Apr 11 00:35 read.sh
-rw-rw-r-- 1 oc oc 102 Apr 13 21:38 test.txt
-rw-rw-r-- 1 oc oc 112 Apr 11 01:17 until_test.sh

awk '/^$/{print "this is a blank line"}' test.txt
this is a blank line
this is a blank line
  • 将awk写入文件,再使用awk调用某文件
cat scr.awk
#! /bin/awk -f
/^$/{print "this is a blank line"}
awk -f scr.awk test.txt

或者加执行权限

chmod a+x ./scr.awk

./scr.awk test.txt

awk 记录和域

awk认为文件为结构化的,以行为记录,每行的字符串为域,域间用空格或者tab键等进行分割,这些分割域的符号为分割符

这里写图片描述

比如 有一个名为test.txt的文件,其内容是
这里写图片描述

先使用awk打印全部域,使用$0
这里写图片描述

先打印第1列和第4列,使用 1 4
这里写图片描述

指定域分割符,使用-F

先更改文件test.txt,在每行test2后增加一个tab

cat 文件内容

这里写图片描述

这里写图片描述

可以看出以tab键分割的域1为test1 和test2
域2 为test3和test4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值