在 Linux 中,cut
是一个用于从文件中提取特定字段或字符的命令。它通常用于处理文本文件。以下是 cut
命令的常用选项和示例:
cut
命令的基本语法
cut OPTION [OPTION]... [FILE]...
常用选项
-
-b
: 按字节范围提取- 用法:
cut -b START-END FILE
- 示例: 提取文件
data.txt
中第 5 到 10 个字节cut -b 5-10 data.txt
- 用法:
-
-c
: 按字符范围提取- 用法:
cut -c START-END FILE
- 示例: 提取文件
data.txt
中第 5 到 10 个字符cut -c 5-10 data.txt
- 用法:
-
-f
: 按字段提取- 用法:
cut -f FIELD_LIST FILE
- 示例: 提取文件
data.txt
中以制表符分隔的第 1 和第 3 列cut -f 1,3 data.txt
- 用法:
-
-d
: 指定字段分隔符(默认是制表符)- 用法:
cut -d DELIM -f FIELD_LIST FILE
- 示例: 提取文件
data.txt
中以逗号分隔的第 1 和第 3 列cut -d ',' -f 1,3 data.txt
- 用法:
-
-s
: 仅输出包含分隔符的行(默认输出所有行)- 用法:
cut -s -d DELIM -f FIELD_LIST FILE
- 示例: 仅输出包含制表符的行
cut -s -d $'\t' -f 1,3 data.txt
- 用法:
-
--complement
: 输出不匹配的部分(与-b
,-c
,-f
一起使用)- 用法:
cut --complement -b START-END FILE
- 示例: 提取文件
data.txt
中除了第 5 到 10 个字节以外的内容cut --complement -b 5-10 data.txt
- 用法:
示例
-
提取特定字节范围
echo "abcdefghij" | cut -b 3-5
输出:
cde
-
提取特定字符范围
echo "abcdefghij" | cut -c 3-5
输出:
cde
-
提取特定字段
echo "one,two,three,four" | cut -d ',' -f 2,4
输出:
two,four
-
处理制表符分隔的文件
cat <<EOF > data.txt a b c 1 2 3 x y z EOF cut -f 2 data.txt
输出:
b 2 y
-
排除指定字段
echo "one,two,three,four" | cut --complement -d ',' -f 2
输出:
one,three,four
这些选项和示例展示了如何使用 cut
命令从文本数据中提取或排除特定部分,帮助处理和分析数据。