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




【Linux--cut命令总结】注意:cut只允许间隔符是一个字符

    推荐阅读