cut 可以帮助我们按列来切分文件,进而提取需要的信息
- 命令格式
cut [options] filename
- 常用参数
cut -f FIELD_LIST filename # 显示需要的列
cut -f FIELD_LIST --complement filename # 显示FIELD_LIST的补集列
cut -d filename # 可以限定切割的界限
指定切除的字符或者字节范围
记法 | 范围 |
---|---|
N- | 从第N个字节,字符或字段到行尾 |
N-M | 从第N个字节,字符或者字段到第M个字节(包括),字符,或者字段 |
-M | 从第一个字节,字符或者字段到第M个字节(包括),字符,或者字段 |
结合以上表格,可以利用下列选项
-d 表示字节
-c 表示字符
-f 用于定义字段
--output-delimiter "delimiter strings" # 输出界定符
eg:
$ cat test
No;name;mark;percent;
1;Sarath;45;90;
2;Alex;49;98;
3;Anu;45;90;
$ cut -f2 -d ";" test
name
Sarath
Alex
Anu
$ cat test
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
$ cat test | cut -c -2
ab
ab
ab
$ cut test -c1-3,6-9 --output-delimiter ","
abc,fghi
abc,fghi
abc,fghi