简介
使用cut可以切割提取指定列字符字节的数据
cut 译为“剪切, 切割” , 是一个强大文本处理工具,它可以将文本按列进行划分的文本处理。cut命令逐行读入文本,然后按列划分字段并进行提取、输出等操作。
语法
cut [options] filename
options参数说明
| 选项参数 | 功能 |
|---|---|
| -f 提取范围 | 列号,获取第几列,与-d一起使用 |
| -d 自定义分隔符 | 自定义分隔符,默认为制表符。 |
| -c 提取范围 | 以字符为单位进行分割 |
| -b 提取范围 | 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 |
| -n | 与“-b”选项连用,不分割多字节字符; |
提取范围说明
| 提取范围 | 说明 |
|---|---|
| n- | 提取指定第n列或字符或字节后面所有数据 |
| n-m | 提取指定第n列或字符或字节到第m列或字符或字节中间的所有数据 |
| -m | 提取指定第m列或字符或字节前面所有数据 |
| n1,n2,... | 提前指定枚举列的所有数据 |
测试
vi cut.txt
a aa aaa
b bbb bb
ccc c cc
提取列数据
提取文件中第一列数据
cut cut.txt -d " " -f 1

提取文件中第一列,第三列
cut cut.txt -d " " -f 1,3

提取文件中第一列到第二列
cut cut.txt -d " " -f 1-2

提取文件中第一列后面所有列的数据
cut cut.txt -d " " -f 2-

提起文件中第三列前面所有列的数据
cut cut.txt -d " " -f -2

提取字符数据
提取每行前3个字符
cut cut.txt -c 1-3

提取每行第4个字符以后的数据
cut cut.txt -c 4-

提取字节数据
提取指定字符串前两个字节:

提取指定字符串前三个字节:

提取指定字符串前五个字节:

由于linux系统默认utf-8码表, 所以一个汉字占3个字节
获取本机ip地址
ifconfig | grep broadcast | cut -d " " -f 10

ip a | grep 192.168.1.255 | cut -d " " -f 6 | awk -F "/" '{ print $1 }'
