作用:
从名字看,就是cut掉每行中部分列,并默认打印在标准输出上。
不带任何选项的cut命令,是把所有文件连接起来,一起输出到标准输出上。
cut必须至少提供一个选项。
选项:
-d, --delimiter=DELIM 指定域的分隔符。不指定,默认<TAB>。
-f, -fn, 指定显示的列
-b,-bn,指定显示的字节
-c,-cn,指定显示的字符。
-f、-b、-c 都是表示按什么作为一列的表示,其后的n,可以有这几种表示:
N-:从第N个字节、字符、字段到结尾; N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段; -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。 上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:
--complement ,表示指定条件列的其他所有列。是求补集的意思。
--output-delimiter=string , 用这个参数指定的string,替换原文中的列分隔符来显示输出。
-s, --only-delimited,不含列分隔符的行不打印。如a文件内容如下:
12345678
12345
[root@HOSTDJNKWCI master]# cut -d6 -f1 a # 用6做列分隔符,而第二行没有6,仍打印出来。
12345
12345
[root@linux /]# cut -d6 -f1 -s a # 加了-s后,则没6的行就不打印。
12345
[root@linux /]# cat a
12345678
12345
例子:
[root@linux /]# echo "中华人民共和国" | cut -c2,4,6 # 和cut -n -b2,4,6 等效。-n -b 就是不要按字节来分列。
华民和
[root@linux /]# echo "中华人民共和国" | cut -n -b2,4,6 --output-delimiter="-"
华-民-和