1.列提取命令 ( cut
)
1.1 简单说明
(1) cut -f 列号
提取第几列
(2) cut -d 分隔符
按照指定分隔符分割列, 注意
不能使用空格
(3) cut -c 字符范围
范围 | 描述 |
---|---|
n- | 从第几个字符到行尾 |
n-m | 从第n个字符到第m个字符 |
-m | 从第一个字符到第m个字符 |
2.2 示例
cut -d : -f 1 /etc/passwd
cut -d : -f 1,5 /etc/passwd
2.格式化字符串命令 ( printf
)
2.1 输出类型
格式 | 描述 |
---|---|
%ns | 输出字符串,n是数字只带输出几个字符 |
%ni | 输出整数,n是数字只带输出几个数字 |
%m.nf | 输出浮点数,m和n都是数字, m代表输出的总位数, n代表小数位,(m-n) 代表整数位 |
2.2 输出格式
格式 | 描述 |
---|---|
\a | 输出警告音 |
\b | 输出退格键 |
\f | 清除屏幕 |
\n | 换行 |
\r | 回车 |
\t | 水平输出退格键 TAB键 |
\v | 垂直输出退格键 TAB键 |
2.3 注意事项
(1) 如果不指定输出格式,则会吧所有输出内容连在一起输出.
3. awk编程
3.1 基本格式
(1)基本格式
awk "条件1{动作1} 条件2{动作2}" 文件名
(2)基本格式演示
df -h | grep "/boot"
df -h | grep "/boot" | awk 'print $5'
df -h | grep "/boot" | awk 'print $5' | cut -d "%" -f 1
3.2 AWK 条件
3.2.1 保留字
BEGIN
在awk程序一开始时,尚未读取任何数据之前执行.BEGIN后的动作只在程序开始的时候执行一次
END
在awk程序处理完所有的数据,即将结束时候执行.END 后的动作只在结束程序的时候执行一次
3.2.2 关系运算符
符号 | 描述 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
A~B | 判断 A 是否包含能匹配B表达式的子串 |
A!~B | 判断A中是否不包含能匹配B表达式的子字符串 |
3.2.3 正则表达式
需要使用 “//” 包含,例如
"/test"
3.3 AWK 内置变量
(1) 常用内置变量清单
内置变量 | 描述 |
---|---|
变量 $0 | 当前读取的整行的数据 |
变量 $n | 代表目前读入行的第n个列 |
变量 NF | 当前行拥有的列总数 |
变量 NR | 当前处理的行,是总数据行的第几行 |
变量 FS | 定义分隔符 |
变量 ARGC | 命令行参数个数 |
变量 ARGV | 命令行参数数组 |
变量 FNR | 当前文件中的当前记录数 |
变量 OFMT | 数值的输出格式 |
变量 OFS | 输出字段的分隔符(默认为空格) |
变量 ORS | 输出记录分隔符(默认为换行) |
变量 RS | 输出记录分隔符(默认为换行符) |
4. sed命令
5. uniq 命令
取消重复行的命令,其实和 sort -u 选项类似
unique -i 文件名
unique 文件名
6. wc 命令(统计命令)
统计命令
wc -l 文件名 # 统计行数
wc -w 文件名 # 统计单词数
wc -m 文件名 # 统计字符数
7.正则表达式
7.1 基础正则表达式
基础表达式比较常用
(1)常用表达式清单
元字符 | 描述 |
---|---|
元字符 * | 前一个字符匹配 0次或任意多次 |
元字符 . | 匹配除了换行符以外任意一个字符 |
元字符 ^ | 匹配行首. 例如: ^hello 会匹配以hello开头的行 |
元字符 $ | 匹配行尾. 例如: hello$会匹配以hello结尾的行 |
元字符 [] | 匹配括号中指定的任意一个字符,只匹配一个字符 |
元字符 [^] | 匹配除括号中的字符以外的任意一个字符 , [^0-9]会匹配一位非数字的字符 |
元字符 ‘’ | 转义字符 |
元字符 {n} | 表示其前面的字符敲好出现n次 例如: [1-9]{4} 匹配4位数字 |
元字符 {n,} | 前面的字符出现不少于n次 |
元字符 {n,m} | 表示前面字符至少出现n次,最多出现m次 |
7.1 扩展正则表达式
(1)扩展正则表达式清单
元字符 | 描述 |
---|---|
元字符 + | 匹配两个或多个分支选择 |
元字符 ? | 匹配其整体为一个字符,即模式单元(多个字符组成的一个字符串) |
元字符 | | 前一个字符匹配 0 次或 1次 |
元字符 () | 前一个字符匹配1次或任意多次 |