awk
来源:互联网 发布:惠东淘宝其他招聘网 编辑:程序博客网 时间:2024/05/16 05:09
awk
awk简介
- 对文本和数据进行扫描和处理
- 两个特殊模式:BEGIN 和 END
awk一次从文件读取一条记录,并将记录存储在字段变量$0中;记录被分割为字段存储在$1,$2,...,$NF(默认使用空格或制表符为分隔符)
参数列表
-
POSIX options: GNU long options: (standard) -f progfile --file=progfile -F fs --field-separator=fs分隔符 -v var=val --assign=var=val设置一个变量Short options: GNU long options: (extensions) -b --characters-as-bytes -c --traditional -C --copyright -d[file] --dump-variables[=file] -e 'program-text' --source='program-text' -E file --exec=file -g --gen-pot -h --help -L [fatal] --lint[=fatal] -n --non-decimal-data -N --use-lc-numeric -O --optimize -p[file] --profile[=file] -P --posix -r --re-interval -S --sandbox -t --lint-old -V --version
- 打印file文件中的空行并显示Blank line
-
[root@server6 ~]# awk '/^$/ {print "Blank line"}' fileBlank lineBlank lineBlank lineBlank lineBlank line
- 打印主机名
-
[root@server6 ~]# awk '/HOSTNAME/' /etc/sysconfig/networkHOSTNAME=server6.example.com
- 打印空格脚本式
-
[root@server6 ~]# awk -f awk.sh file Blank lineBlank lineBlank lineBlank lineBlank line[root@server6 ~]# cat awk.sh /^$/{print "Blank line"}[root@server6 ~]# cat file 12121211:1212121223232323:3223232334343433:43343434
-
# 打印第一条记录[root@server6 ~]# echo hello world|awk '{print $0}'hello world# 打印最后一个字段数[root@server6 ~]# echo hello world|awk '{print NF}'2# 打印最后一个字段[root@server6 ~]# echo hello world|awk '{print $NF}'world
-
# 以:划分,打印第一个字段[root@server6 ~]# awk 'BEGIN {FS=":"} {print $1}' passwdrootbindaemonadmlpsyncshutdownhaltmail
-
# 以:,划分,打印第一个字段和第二个字段[root@server6 ~]# echo 'hello the:world,!'|awk 'BEGIN{FS="[:,]"}{print $1,$2}'hello the world
- 变量说明
-
[root@server6 ~]# cat file1tian sheng wo cai bi you yongshao zhuang bu nu li,lao da tu shang bei [root@server6 ~]# cat file2ren sheng chu chu shi feng jingawk shi fei chang qiang da dechang feng po lang hui you shi
-
# 打印行标[root@server6 ~]# awk '{print FNR}' file1 file212123[root@server6 ~]# awk '{print NR}' file1 file212345
-
# 打印每一行字段数[root@server6 ~]# awk '{print NF}' file1 79# 以:划分,取第一个字段[root@server6 ~]# awk 'BEGIN {FS=":"} {print $1}' passwd rootbindaemonadmlpsyncshutdownhaltmail
-
[root@server6 ~]# awk '{print $1,$2}' passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin [root@server6 ~]# awk '{print $1}' passwd root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologin[root@server6 ~]# awk 'BEGIN {FS=":"}{print $2}' passwd xxxxxxxxx[root@server6 ~]# awk 'BEGIN {FS=":"}{print $3}' passwd 012345678
-
[root@server6 ~]# echo "test" |awk 'x=2 {print x+3}'5[root@server6 ~]# awk '/^$/{print x+=1}' file1 123[root@server6 ~]# cat file1 tian sheng wo cai bi you yongshao zhuang bu nu li,lao da tu shang bei
-
[root@server6 ~]# df|grep "boot"|awk '{if($4<20000) print "Alart";else print "OK"}'OK[root@server6 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda3 18555904 6354088 12201816 35% /devtmpfs 485292 0 485292 0% /devtmpfs 499968 172 499796 1% /dev/shmtmpfs 499968 51092 448876 11% /runtmpfs 499968 0 499968 0% /sys/fs/cgroup/dev/sda1 303780 154756 149024 51% /boottmpfs 99996 0 99996 0% /run/user/0tmpfs 99996 28 99968 1% /run/user/1000[root@server6 ~]# awk '{print length()}' file10002941
阅读全文
0 0
- awk
- awk
- AWK
- awk
- AWK
- awk
- awk
- AWK
- awk
- awk
- AWK
- awk
- awk
- awk
- awk
- awk
- awk
- awk
- 区块链原理学习-区块链结构
- 网络编程(UDP)
- Judge Route Circle
- java自带线程池和队列详细讲解
- 网络编程(TCP)
- awk
- 反射
- Python使用wxPython实现计算器
- ExecutorService常用方法和newFixedThreadPool创建固定大小的线程池
- Python 如何优雅的将数字转化为时间格式
- Redis常见集群方案、Codis实践及与Twemproxy比较
- 两个链表的第一个公共结点
- Python结合wxPython实现身份证更新换代、显示基本公民信息软件
- IOS UILabel指定字体颜色、大小