磁盘分区和awk
作者:互联网
一、磁盘管理
1.重点
- Linux系统磁盘管理的方法
- 挂载磁盘的步骤
- Linux磁盘分区的工具及其区别
- 查看磁盘与分区的命令
2.详情
1.Linux系统中磁盘管理就是将硬盘通过挂载的方式挂载到linux文件系统中。
2.挂载磁盘的步骤
1、关机
2、添加硬盘
3、创建分区
fdisk /dev/sdb或gdisk /dev/sdb
4、格式化文件系统
mkfs.xfs /dev/sdb1
5、挂载
mount /dev/sdb1 /mnt
3.Linux磁盘分区的工具及其区别
fdisk:分区2TB以下的磁盘,最多可以分4个分区
gdisk:分区2TB以上的磁盘,最多可以分128个分区
4.查看磁盘与分区的命令
lsblk : 查看本机的磁盘
df -h : 查看本机的分区
二、awk
1.重点
- awk的功能是什么?
- awk的语法结构是什么?
- awk的语法的详细组成是什么?
- awk的生命周期
2.简介
1.功能
主要是用来格式化文本
2.awk的语法:
awk [参数] [处理规则] [操作对象]
3.awk 的语法的详细组成
1.参数
2.处理规则执行流程
3.函数
4.预定义变量
5.定位
序号 | awk语法详细组成 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
1 | 参数(1) | -F | - | - | - | - | - | - |
2 | 预定义变量(6) | $0 | $n | NF | NR | FS | OFS | - |
3 | 处理规则的执行流程(4) | BEGIN{} | // | {} | END{} | - | - | - |
4 | 函数(2) | printf | 数字- | - | - | - | + | |
5 | 定位(表达式)(7) | 正则 | 比较6 | 逻辑3 | 算术5 | 条件5 | 范围 | 流程控制 |
6 | 流程控制(3) | if 3 | for 3 | while | - | - | - | - |
相关符号 | || | ! | !~ | ~ | <= | >= | < | > | == |
---|---|---|---|---|---|---|---|---|---|
+ | - | * | / | % | ++ | -- | %s | %d |
4.生命周期
1.接收:接收一行作为输入
2.分解:把刚刚读入进来得到文本进行分解
3.处理使用处理规则处理文本
4.赋值:使用处理规则处理文本
5.再处理:把处理完成之后的所有的数据交给END{}来再次处理
# 拓展:grep、sed和awk都是读一行处理一行,直至处理完成。
3.详情
预定义变量 | 功能 | 符号 | 案例 |
---|---|---|---|
1 | 代表当前行 | $0 | awk -F: '{print $0, "---"}' /etc/passwd |
2 | 代表第n列 | $n | awk -F: '{print $1}' /etc/passwd |
3 | 记录当前行的字段数 | NF | awk -F: '{print $NF}' /etc/passwd |
4 | 用来记录行号 | NR | awk -F: '{print NR}' /etc/passwd |
5 | 指定文本内容分隔符(默认是空格) | FS | awk 'BEGIN{FS=":"}{print $NF, $1}' /etc/passwd |
6 | 指定打印分隔符(默认空格) | OFS | awk -F: 'BEGIN{OFS=" >>> "}{print $NF, $1}' /etc/passwd |
awk处理规则的执行流程 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
种类 | BEGIN{} | // | {} | END{} |
作用 | 一般用于定义变量 | 正则,用于匹配 | 循环,作用是处理文件 | 义是打印之前,处理一遍 |
*执行顺序:从左到右
*是否要求全部出现:不需要,最少一个,最多四个
函数 | 参数 | ||||
---|---|---|---|---|---|
print 打印 | - | - | - | - | - |
printf 格式化打印 | %s(字符串) | %d(数字) | - (左对齐) | +(右对齐) | 数字(至少占用字符位) |
[root@localhost ~]
# awk -F: 'BEGIN{OFS=" | "}{printf "|%+15s|%-15s|\n", $NF,$1}' /etc/passwd
定位 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
正则表达式 | ||||||
比较表达式 | > | < | >= | <= | ~ | !~ |
逻辑表达式 | &&(逻辑与 ) | ||:逻辑或 | !:逻辑非 | |||
算术表达式 | + | - | * | / | % | |
条件表达式 | == | > | < | >= | <= | |
范围表达式 |
案例:
1.awk -F: '/root/{print $0}' /etc/passwd
2.awk -F: '/^root/{print $0}' /etc/passwd
3.awk -F: '$4 > $3{print $0}' /etc/passwd
4.awk -F: '$NF ~ /bash/{print $0}' /etc/passwd
5.awk -F: '$NF !~ /bash/{print $0}' /etc/passwd
6.awk -F: '$3 + $4 > 2000 && $3 * $4 > 2000{print $0}' /etc/passwd
7.awk -F: '$3 + $4 > 2000 || $3 * $4 > 2000{print $0}' /etc/passwd
8.awk -F: '!($3 + $4 > 2000){print $0}' /etc/passwd
9.awk -F: '$3 + $4 > 2000{print $0}' /etc/passwd
10.awk -F: '$3 * $4 > 2000{print $0}' /etc/passwd
11.awk -F: 'NR % 2 == 0{print $0}' /etc/passwd
12.awk -F: 'NR % 2 == 1{print $0}' /etc/passwd
13.awk -F: 'NR == 3{print $0}' /etc/passwd
14.awk -F: '/^root/,/^ftp/{print $0}' /etc/passwd
序号 | 流程控制 | 语法结构 | - | - |
---|---|---|---|---|
1 | if | if(){} | if(){}else{} | if(){}else if(){}else{} |
2 | for | for(i="初始值";条件判断;游标){} | - | - |
3 | while | while(条件判断){} | - | - |
案例:
[root@localhost ~]
# awk -F: '{if($3>$4){print "大于"}else{print "小于或等于"}}' /etc/passwd
[root@localhost ~]
# awk -F: '{for(i=10;i>0;i--){print $0}}' /etc/passwd
[root@localhost ~]
# awk -F: '{i=1; while(i<10){print $0, i++}}' /etc/passwd
[root@localhost ~]
# awk -F: '{if(NR%5==0){print "----------------"}print $0}' /etc/passwd
标签:passwd,NF,etc,awk,print,磁盘,磁盘分区 来源: https://www.cnblogs.com/zyy6/p/15721537.html