awk处理文本文件
awk '{命令}' 文件名
#--测试文件 mark.txt----
#1 张三 语文 80
#2 李四 数学 90
#3 王五 英语 87
awk BEGIN '{命令}' #在程序开始运行的命令
awk END '{命令}' #在程序结束运行的命令
awk 'BEGIN{print "----begin----"} {print} END{print "----end----"}' mark.txt
## 结果:
----begin----
#1 张三 语文 80
#2 李四 数学 90
#3 王五 英语 87
----end----
awk 'END{print "----begin----"} {print} BEGIN{print "----end----"}' mark.txt
## 结果:
----end----
#1 张三 语文 80
#2 李四 数学 90
#3 王五 英语 87
----begin----
$ 符号
$后跟数字是awk把每一行字符串分割处理后的列表
# $0表示返回整行无变化 后面1开始代表列号
awk 'END{print "----begin----"} {print $0} BEGIN{print "----end----"}' mark.txt
# $1 返回第一列,以此类推
awk 'END{print "----begin----"} {print $1} BEGIN{print "----end----"}' mark.txt
----end----
#1
#2
#3
----begin----
-F 参数
默认awk是以空格和tab制表符分隔每一行文本。 也可以使用-F参数指定字符分割每行文本
# 以/etc/passwd文件为例操作
awk -F ':' '{print $0}' /etc/passwd
先到这里, 有兴趣时候再继续发掘。