网站开发摊销多少年,深圳网站建设熊掌号,微擎可以做网站吗,江苏省住房和城乡建设局网站一、awk引子 awk是 Linux 里命令里处于【扫地僧】的地位 awk是一门语言#xff0c;也是一个命令。 最擅长处理文本的语言或命令 Linux有三剑客命令#xff1a; grep/sed/awk 三剑客各自特长#xff1a; grep #过滤内容 sed #取行 awk #取列 --- 取行 --- 过滤一、 二…一、awk引子 awk是 Linux 里命令里处于【扫地僧】的地位 awk是一门语言也是一个命令。 最擅长处理文本的语言或命令 Linux有三剑客命令 grep/sed/awk 三剑客各自特长 grep #过滤内容 sed #取行 awk #取列 --- 取行 --- 过滤一、 二、什么是awk awk是一门语言通过处理复杂文本字符串取到最终需要的内容。 C、 C 开发人员处理字符串几乎都会用 awk 。 命令行来说掌握awk 命令基本使用 三、awk功能 常用功 能是【取列】但是也可以【取行】和【过滤】。 awk {print $1} 文件 ##分隔符是空格
awk -F : {print $1} 文件 ##指定冒号为分隔符 注意写法一对单引号里加一对大括号里面加print $1 结尾加操作的文件 说明 1取的内容是每一行固定列或整行 2不同列的内容默认分隔符是 [ 空格 ] 。 3 $1 是第一列 $2 是第二列 ,........ $NF 最后一列倒数第二列 $(NF-1) $0 是整行 4 -F 指定分隔符 : 是具体的分隔符使用双引号引起来 小试牛刀练习1 #准备
[rootoldboy ~]# cd ~
[rootoldboyedu ~]# echo oldboy oldgirl oldboy.txt
[rootoldboyedu ~]# echo oldboy oldgirl oldboy.txt
[rootoldboyedu ~]# cat oldboy.txt
oldboy oldgirl
oldboy oldgirl #取第一列
[rootoldboy ~]# awk {print $1} oldboy.txt
oldboy
oldboy
#取第二列
[rootoldboy ~]# awk {print $2} oldboy.txt
oldgirl
oldgirl
#取整行
[rootoldboy ~]# awk {print $0} oldboy.txt
oldboy oldgirl
oldboy oldgirl
#取第1列和第二列
[rootoldboy ~]# awk {print $1,$2} oldboy.txt
oldboy oldgirl
oldboy oldgirl 指定分隔符过滤-F 1 、指定分隔符过滤基本语法 ## 语法 awk -F 分隔符 {print $1} /etc/passwd 1取/etc/passwd的第1列
awk -F : {print $1} /etc/passwd
##简单写法
awk -F: {print $1} /etc/passwd
2取/etc/passwd的第2列
awk -F : {print $2} /etc/passwd
3取/etc/passwd的第整行
awk -F : {print $0} /etc/passwd
4取/etc/passwd的尾列
awk -F : {print $NF} /etc/passwd
5取/etc/passwd的倒数第2列
awk -F : {print $(NF-1)} /etc/passwd 指定分隔符同时输出多列语法 awk -F 分隔符 {print $1,$2} 文件 ##逗号是空格。
1取/etc/passwd的第1列和第2列
awk -F : {print $1,$2} /etc/passwd
2取/etc/passwd的第1列、第3列和最后一列
awk -F : {print $1,$3,$NF} /etc/passwd
3)在输出的结果中加想要加的内容这里加oldboy
awk -F: {print $1,oldboy,$2} /etc/passwd 同时指定多分隔符 #语法awk -F [ /:] {print $1,$2} 文件
#遇到空格斜线冒号等号都认为是分隔符。
#练习1过滤ip a结果中的ip地址
##同时指定空格和斜线作为分隔符
[rootoldboy ~]# ip a|grep /24|awk -F [ /] {print $6}
10.0.0.128
#练习2过滤stat /etc/hosts中的0644
[rootoldboy ~]# stat /etc/hosts|grep 0644|awk -F [(/] {print $2}
0644 多分隔符连续 #语法awk -F [ /:] {print $1,$2} 文件
#遇到空格斜线冒号等号都认为是分隔符。
#碰到连续的指定分隔符算一个分隔符。
#练习1过滤ip a结果中的ip地址
##同时指定空格和斜线作为分隔符
[rootoldboy ~]# ip a|grep /24|awk -F [ /] {print $3}
10.0.0.128
#练习2把文件中的数字取出来
[rootoldboy ~]# echo 1---2///3/4 oldboy.txt
[rootoldboy ~]# cat oldboy.txt
1---2///3/4
[rootoldboy ~]# awk -F [/-] {print $2,$3,$4,$5} oldboy.txt
1 2 3 4