Linux--cut命令总结

cut 命令从文件的每一行剪切内容并将其写至标准输出。

参数:

 -b :以字节(bytes)为单位进行分割。

 -c :以字符(characters)为单位进行分割。

 -d :自定义分隔符(delimiter),默认为制表符。

 -f :与-d一起使用,按d指定的分隔符分割后,指定显示哪个区域(fields)

 -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。

–complement :补充选定的内容,即反选。

参数说明: 必须指定分割单位,即参数b、c、f 必须三选一

举个例子 

]# cat test.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98

使用 -f 选项提取指定字段:

]# cut -f2,3 test.txt 
Name Mark
tom 69
jack 71
alex 68

 --complement 选项提取指定字段之外的列(打印除了第二列之外的列):

]# cut -f2 --complement test.txt 
No Mark Percent
01 69 91
02 71 87
03 68 98

使用 -d 选项指定字段分隔符:

]# cat test2.txt 
No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98
]# cut -f2 -d";" test2.txt 
Name
tom
jack
alex

指定字段的字符或者字节范围:

N-:从第N个字节、字符、字段到结尾;

N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;

-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

]# cat test3.txt 
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz

打印前2个字符:

]# cut -c-2 test3.txt 
ab
ab
ab
ab
ab

打印从第5个字符开始到结尾:

]# cut -c5- test3.txt 
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz

参数-b-c的区别:

]$ cat test4.txt
星期一
星期二
星期三
星期四

]$ cut -b 3 test4.txt



]$ cut -c 3 test4.txt



注意:cut只允许间隔符是一个字符

你可能感兴趣的:(Linux)