cut 命令从文件的每一行剪切内容并将其写至标准输出。
参数:
-b :以字节(bytes)为单位进行分割。参数说明: 必须指定分割单位,即参数b、c、f 必须三选一
-c :以字符(characters)为单位进行分割。
-d :自定义分隔符(delimiter),默认为制表符。
-f :与-d一起使用,按d指定的分隔符分割后,指定显示哪个区域(fields)。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。
–complement :补充选定的内容,即反选。
举个例子 :
使用 -f 选项提取指定字段:]# cat test.txt No Name Mark Percent 01 tom 69 91 02 jack 71 87 03 alex 68 98
--complement 选项提取指定字段之外的列(打印除了第二列之外的列):]# cut -f2,3 test.txt Name Mark tom 69 jack 71 alex 68
使用 -d 选项指定字段分隔符:]# cut -f2 --complement test.txt No Mark Percent 01 69 91 02 71 87 03 68 98
]# cat test2.txt No; Name; Mark; Percent 01; tom; 69; 91 02; jack; 71; 87 03; alex; 68; 98
指定字段的字符或者字节范围:]# cut -f2 -d"; " test2.txt Name tom jack alex
N-:从第N个字节、字符、字段到结尾;
N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
打印前2个字符:]# cat test3.txt abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
打印从第5个字符开始到结尾:]# cut -c-2 test3.txt ab ab ab ab ab
参数-b和-c的区别:]# cut -c5- test3.txt efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz
]$ cat test4.txt
星期一
星期二
星期三
星期四
]$ cut -b 3 test4.txt
?
?
?
?
]$ cut -c 3 test4.txt【Linux--cut命令总结】注意:cut只允许间隔符是一个字符
一
二
三
四
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具