1. 介绍
cut 命令用于从文本文件中提取选定的列或字段。它根据指定的定界符(分隔符)将输入行拆分为字段,然后选择并输出指定的字段。可用于各种文本处理任务,而且可以与其他命令(例如 grep 和 sort)组合使用以创建强大的数据处理管道。
2. 语法
cut [参数] [定界符] [字段列表] [文件...]
- 参数:
-d:指定定界符(分隔符)。默认值为制表符 (\t)。
-f:指定要选择的字段。可以指定多个字段,用逗号分隔。
-c:指定要选择的字符范围。
-s:抑制空白行的输出。
-n:仅输出指定行号的行。
- 字段列表:
字段列表可以是字段号或字符范围。字段号从 1 开始,表示第一列。字符范围使用连字符 (-) 指定,例如 1-3 表示第一列到第三列。
3. 使用示例
- 提取/etc/passwd文件中第一列
# 以冒号:为分隔符cut -d: -f1 /etc/passwd
- 从文件提取第一和第三列
# 以冒号:为分隔符cut -d: -f1,3 /etc/passwd
- 从文件提取 10 到 15 个字符
cut -c10-15 /etc/passwd
- 从文件提取第一列,并筛选包含字符串 "root" 的行
# 以冒号:为分隔符cut -d: -f1 /etc/passwd | grep root
- 从文件提取第一列,并仅输出非空行
cut -d: -f1 /etc/passwd | grep -v "^$"
- 从文件提取第一列,并仅输出前 10 行
cut -d: -f1 /etc/passwd | head -n 10
- 从多个文件提取第一列
cut -d: -f1 file1 file2 file3