Skip to content

cut 命令

基本用法

按字节切割

bash
#!/bin/bash

# 按字节切割
cut -b 1-5 file.txt

按字符切割

bash
#!/bin/bash

# 按字符切割
cut -c 1-5 file.txt

按字段切割

bash
#!/bin/bash

# 按字段切割
cut -d: -f1 /etc/passwd

常用选项

-d 选项

bash
#!/bin/bash

# 设置分隔符
cut -d: -f1 /etc/passwd

-f 选项

bash
#!/bin/bash

# 提取字段
cut -d: -f1,3 /etc/passwd

-b 选项

bash
#!/bin/bash

# 按字节切割
cut -b 1-5 file.txt

-c 选项

bash
#!/bin/bash

# 按字符切割
cut -c 1-5 file.txt

实用示例

示例1:提取字段

bash
#!/bin/bash

# 提取用户名
cut -d: -f1 /etc/passwd

# 提取用户 ID
cut -d: -f3 /etc/passwd

示例2:提取字符

bash
#!/bin/bash

# 提取前 5 个字符
cut -c 1-5 file.txt

# 提取第 6-10 个字符
cut -c 6-10 file.txt

示例3:提取字节

bash
#!/bin/bash

# 提取前 10 个字节
cut -b 1-10 file.txt

示例4:多字段提取

bash
#!/bin/bash

# 提取多个字段
cut -d: -f1,3,5 /etc/passwd

# 提取字段范围
cut -d: -f1-3 /etc/passwd

最佳实践

1. 使用 -d 选项

bash
# 好的做法
cut -d: -f1 /etc/passwd

# 不好的做法
awk -F: '{print $1}' /etc/passwd

2. 使用 -f 选项

bash
# 好的做法
cut -d: -f1,3 /etc/passwd

# 不好的做法
awk -F: '{print $1, $3}' /etc/passwd

3. 使用 -c 选项

bash
# 好的做法
cut -c 1-5 file.txt

# 不好的做法
sed 's/^\(.....\).*/\1/' file.txt

总结

cut 命令的关键点:

  1. 基本用法cut -d: -f1 file.txt
  2. 常用选项-d-f-b-c
  3. 实用示例:提取字段、提取字符、提取字节、多字段提取
  4. 最佳实践:使用 -d 选项、使用 -f 选项、使用 -c 选项

下一节我们将学习 sort 命令的使用。