。roth lower(substr(ename,2,length(ena)))
分类: LINUX
2017-02-26 19:10:23
如文本:this is a test.
切割为四部分
点击(此处)折叠或打开
一,print,printf
格式化以后,显示
格式化以后,显示
awk [options] 'script' f1,f2 ...
awk [options] 'PATTERN' '{action}' f1 f2 ... 模式
输出 print,printf
awk 'BEGIN{OFS="#"}{print $1,$2}' test.txt
输出 print,printf
nawk
gawk
which awk 路径
ls -l /bin/awk 链接
print 自带换行
printf 无换行
点击(此处)折叠或打开
二,awk 变量
2.0 修饰符
N 空格
-左对齐
+右对齐
2.1 内置变量
FS: field separator 默认空白字符
RS:Record separator 默认换行符
OFS:Output Field Separator
ORS:Output Row Separator
2.2 awk 内置变量之数据变量
NR:the number of input records awk命令所处理的记录数,有多个文件时会把处理的多个文件行统一计数
NF:Number of Field 当前记录的field个数
FNR:与NR不同,FNR记录正在处理的行驶当前这文件中被总共处理的行数
ARGV:数组,保持命令行本身用它,如: awk 'print $0' a.txt b.txt ,此命令,ARGV[0]保持awk,ARGV[1]保存a.txt
ARGC:awk命令参数个数
FILENAME:awk命令所处理的文件名
ENVIRON:当前环境变量及其值关联组
如:awk 'BEGIN{print ENVIRON["PATH"]}'
点击(此处)折叠或打开
2.3自定义变量
wak,任何非0 值 或非空都为真,反之为假
x
x<=y
x>y
x>=y
x==y
x!=y
x~y x能被匹配规则y 匹配到就为真
x!~y
2.6 三元表达式slector?if-true-exp:if-false~exp
a>b?a is Max,or b is Max
2.7 awk -F:'$3>=500{print $1 $3}' /etc/passwd
显示passwd中id号大于500的行的1,3列
点击(此处)折叠或打开
awk -F: '$7~"bash"{print $1,$7}' /etc/passwd
点击(此处)折叠或打开