Shell:cut工具

简介

使用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

image-20210625221842105

提取文件中第一列,第三列

cut cut.txt -d " " -f 1,3

image-20210625221911341

提取文件中第一列到第二列

cut cut.txt -d " " -f 1-2

image-20210625222015967

提取文件中第一列后面所有列的数据

cut cut.txt -d " " -f 2-

image-20210625222101671

提起文件中第三列前面所有列的数据

cut cut.txt -d " " -f -2

image-20210625222146608

提取字符数据

提取每行前3个字符

cut cut.txt -c 1-3

image-20210625222257741

提取每行第4个字符以后的数据

cut cut.txt -c 4-

image-20210625222324368

提取字节数据

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

image-20210625222829542

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

image-20210625222853155

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

image-20210625222910937

由于linux系统默认utf-8码表, 所以一个汉字占3个字节

获取本机ip地址

ifconfig | grep broadcast | cut -d " " -f 10

image-20210625224138600

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

image-20210625224946789

原文地址:https://www.cnblogs.com/wwjj4811/p/14932855.html