shell脚本 cut工具
cut
一个强大文本处理工具,可以将文本按列进行划分的文本处理,cut命令逐行读入文本,然后按列划分字段并进行提取、输出等操作
cut [options] filename
-f 获取第几列
-d 自定义分隔符
-c 以字符为单位分割
-b 以字节为单位分割
-n 与-b连用 不分割多字节符
切割提取指定列数据
cut cut1.txt -d " " -f 1 提取cut1.txt文件 第一列数据 以空格为分隔符
cut cut1.txt -d " " -f 1,3 提取该文件 第一、三列数据 以空格分隔
cut cut1.txt -d " " -f 2- 提取该文件 第二列及以后的所有列 以空格分
cut cut1.txt -d " " -f -2 提取该文件 第二列及以前的所有列 以空格分
切割提取指定字符数据
cut cut1.txt -c 1-3 提取每行前三个字符
cut cut1.txt -c 4- 提取每行第四个字符及以后的数据
cut cut1.txt -c -3 提取每行前三个字符
切割提取指定字节数据
echo "abc巴拉" | cut -b -3 提取字符串前三个字节
echo "abc巴拉" | cut -b -4 提取字符串前四个字节 会有乱码
在liunx系统中默认utf-8编码,一个汉字占3个字节
echo "abc巴拉" | cut -b -6 提取结果 abc巴
echo "abc巴拉" | cut -nb -4 提取结果 abc巴 -n 取消多字节符分割直接传输
切割提取指定单词数据
cat cut1.txt | grep ittt | cut -d " " -f 2 先在文件中过滤出单词 ittt 再以空格分割 提取第二个ittt
提取bash进程的PID号
ps -aux | grep bash | head -n 1 | cut -d " " -f 8
先查进程号 通过管道符 | 过滤出bash 的pid号 head命令显示第一行 再以空格分割 提取第八个
提取IP地址
ifconfig | grep broadcast | cut -d " " -f 10
查ip信息 管道符传递 grep命令过滤出 broadcast 再切割提取第十个