cut — 列合并

cut 工具可用于从以特定字符或列号分隔的文件中提取特定列。它可以在命令行中传递文件名;如果没有指定文件名,则从标准输入读取。

cut 工具认为一行中的第一个字符的索引为 1-c-f-b 开关接受一个参数,列出所需的列。这可以是一个单一的值,也可以是一个由逗号分隔的更复杂的列表。每个值可以是一个数字,或者两个由连字符分隔的数字,表示 low-high。如果 low 未指定,则将其视为第一列。如果 high 未指定,则将其视为“直到最后一个字符(含)”。

要从每一行中选择特定的字符,请使用 -c 开关。对于特定的字节(在使用多字节文本时与字符不同),请使用 -b。要指定特定的字段,请使用 -f

使用 -f 时,可以使用 -d 开关指定字段分隔符。默认值为制表符。 -s 开关指示 cut 抑制不包含任何分隔符实例的行——默认情况下,它们会原样回显。

例如,要提取逗号分隔文件中第二、第四和第五列,忽略不包含逗号的行,可以使用

cut -s -d , -f 2,4-5 input.txt > output.txt

要从标准输入中截取第一个字符,可以使用

do_stuff | cut -c 2-

请参阅 cut(1) 手册页和 IEEE Std 1003.1-2017-cut 以获取完整文档。