简介
使用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 }'