提取特定列
模式: cut -f FILE_LIST filename
FILE_LIST表示需要显示的列。由列号组成,彼此之间用逗号分隔
例如,提取文件student_data.txt的2,3列
cut -f 2,3 student_data.txt
Name Percent
a 90
b 98
c 90
提取文件student_data.txt的第1列
cut -f1 student_data.txt
No
1
2
3
打印除了某列之外的所有列:--complement选项
打印除第三列之外的所有列
cut -f1 --complement student_data.txt
No Name
1 a
2 b
3 c
打印指定字段的定界符:-d选项
cat delimited_data.txt
no;name;mark;percent
1;daming;45;90
2;lingling;49;98
3;anu;45;92
cut -f2 -d ";" delimited_data.txt
name
daming
lingling
anu
指定字段的字符或字节范围:行首记为0
N- :从第N个字节,字符或字段到行尾
N-M:从第N个字节,字符或字段到第M个(包括M)字节,字符或字段
-M:从第1个字节,字符或字段到第M个(包括M)字节,字符或字段
-b表示字节
-c表示字符
-f表示字段
cat a.txt
abcdefghijklm
打印1-5个字符
cut -c1-5
abcde
打印前2个字符
cut a.txt -c -2
ab
提取多个字段:需用--output-delimiter指定界定符
cut a.txt -c1-3,6-9 --output-delimiter ","
abc,fghi
网友评论