cut简介
cut命令同awk命令类似,也是一个文本分析工具,它可以切取文本中指定列的字符。
cut的使用
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]
主要参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。用法:cut -cnum1-num2 filename 截取num1~num2之间的字符,字符从1开始记。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。 一般-n用于告诉cut不要将多字节字符拆开
cut使用举例
(1)使用cut从文本文件中截取
#echo "test:hello:next" >test.txt
#echo "tang:yi:bo" >>test.txt
#cut -d ":" -f 1 test.txt //以:为分隔符,截取出第1列
test
tang
#cut -d ":" -f 2 test.txt //以:为分隔符,截取出第2列
hello
yi
#cut -c1-4 test.txt //以字符为单位截取第1到第4个之间的字符
test
tang
(2)使用cut从shell输出的文本中截取
#who
root tty1 2015-11-14 22:55
tang pts/0 2015-11-14 23:50 (192.168.1.105)
#who | cut -c1-4 //截取每行的第1-3个字符
root
tang
#who | cut -b1-2,4 //截取每行的第1-2和第4个字节
rot
tag
#who | cut -b -2 //截取每行的前2个字节
ro
ta
#who | cut -b 2- //截取每行从第2个字节开始到每行最后的所有字节
oot tty1 2015-11-14 22:55
ang pts/0 2015-11-14 23:50 (192.168.1.105)