0
点赞
收藏
分享

微信扫一扫

1-24 第24章-shell中色彩处理和awk使用技巧

1.

shell中输出带颜色的效果时需要echo -e ,其中字体颜色是3X的,背景颜色是4X的

2.

awk 最外面使用单引号,里面使用双引号。一律这样写防止乱

3.

printf "%-20s %-20s\n", $1,$NF

-表示左对齐,+表示右对齐,默认右对齐 20s表示共20个字符长度

4.

####NR 与 FNR 的区别
[root@xuegod63 ~]# awk '{print NR"\t" $0}' /etc/hosts /etc/hostname
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.1.63 xuegod63.cn
4 192.168.1.64 xuegod64.cn
5 192.168.1.64 xuegod62.cn
67 xuegod63.cn
[root@xuegod63 ~]# awk '{print FNR"\t" $0}' /etc/hosts /etc/hostname
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.1.63 xuegod63.cn
4 192.168.1.64 xuegod64.cn
5 192.168.1.64 xuegod62.cn
6
1 xuegod63.cn

注:对于 NR 来说,在读取不同的文件时,NR 是一直加的 ; 对于 FNR 来说,在读取不同的文件时,它读取下一个文件时,FNR 会从 1 开始重新计算的

5.

匹配,使用 awk 查出以包括 root 字符的行 , 有以下 3 种方法

[root@xuegod63 ~]# awk -F: "/root/{print}" /etc/passwd
[root@xuegod63 ~]# awk -F: "/root/" /etc/passwd
[root@xuegod63 ~]# awk -F: '/root/{print $0}' /etc/passwd

6.

变量

(1)用-v 指定 var=value 变量名区分大小写的

(2)在程序中直接定义

(3)在 awk 里,使用变量不用加$符号。

[root@xuegod63 ~]# var="test" 
[root@xuegod63 ~]# awk 'BEGIN{print "'$var'"}' #引用变量时,使用单引号+双引号括起来
test












举报

相关推荐

0 条评论