【linux】文件与目录命令 - cut
文章目录
- 1. 基本用法
- 2. 常用参数
- 3. 用法举例
- 4. 注意事项
cut
命令用于从文本文件或标准输入中提取指定字段或字符,是文本处理的常用工具之一,适合在管道命令中使用。
1. 基本用法
-
语法:
cut [选项] 文件
-
功能:
- 按字符、字节或字段提取文本内容。
-
此命令是否系统自带:此命令是系统默认自带的,无需额外安装。
2. 常用参数
-b
:按字节提取指定范围的内容(适用于无多字节字符的文件)。-c
:按字符提取指定范围的内容。-f
:按字段提取指定范围的内容(需配合-d
指定分隔符,默认是制表符)。-d
:指定字段的分隔符(默认是制表符)。--complement
:取反操作,返回未选择的内容。--output-delimiter
:指定输出字段的分隔符(默认为输入分隔符)。--help
:显示帮助信息。--version
:显示命令版本信息。
3. 用法举例
-
按字节提取内容:
提取文件中每行的第 1 到第 3 个字节:cut -b 1-3 file.txt
-
按字符提取内容:
提取文件中每行的第 4 到第 6 个字符:cut -c 4-6 file.txt
-
按字段提取内容(默认分隔符是制表符):
提取文件中每行的第 2 和第 4 个字段:cut -f 2,4 file.txt
-
按指定分隔符提取字段:
使用逗号作为分隔符,提取第 1 和第 3 个字段:cut -d ',' -f 1,3 file.txt
-
取反选择未指定的内容:
提取文件中除第 1 和第 2 个字段之外的所有字段:cut -d ',' --complement -f 1,2 file.txt
-
指定输出字段的分隔符:
将输入的逗号分隔字段输出为分号分隔:cut -d ',' -f 1,2 --output-delimiter=';' file.txt
-
处理标准输入:
从命令输出中提取部分字段:echo "a,b,c,d" | cut -d ',' -f 2,4 # 输出:b,d
4. 注意事项
- 参数
-b
和-c
不会解读多字节字符(如 UTF-8 编码的中文字符可能被截断),推荐使用-c
处理字符时选择合适的编码。 - 参数
-f
依赖字段分隔符,默认是制表符,需配合-d
选项自定义其他分隔符。 - 使用
--complement
选项时,可实现更灵活的字段反选操作。 - 适合处理小型文本文件,大型文件或复杂需求推荐使用
awk
或sed
替代。 - 输出结果中分隔符与输入相同,除非使用
--output-delimiter
显式指定新的分隔符。