ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

磁盘分区和awk

2021-12-22 23:03:44  阅读:189  来源: 互联网

标签:passwd NF etc awk print 磁盘 磁盘分区


一、磁盘管理

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) print 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有