1、介绍
cut命令也是我们写脚本时经常用到的命令,主要用来显示文件或者标准输入的每一行,从xxx1到xxx2的内容。常用方法可以总结到一张表里:
语法 | 说明 |
cut [-nb] [file] | -b是以字节为单位进行分割,但是遇到多字节字符的时候有可能会出现乱码。所以加上-n选项就可以解决。 |
cut [-c] [file] | -c是以字符为单位进行分割 |
cut [-df] [file] | -f是以域为单位进行分割。 -d指定分割域的方法 |
2、例子
废话少说,直接上例子,我们以如下内容为标准输入:
$ ls -al | tail -n 3
drwxrwxr-x 2 wjbvb2 wjbvb2 4096 6月 25 19:52 035_headtail
drwxrwxr-x 2 wjbvb2 wjbvb2 4096 5月 6 20:27 temp
drwxrwxr-x 4 wjbvb2 wjbvb2 4096 5月 6 20:20 ttt
2.1 每行显示第2个字节
$ ls -al | tail -n 3 | cut -c 2
r
r
r
2.2 每行显示第2、3、4、5、8个字节
$ ls -al | tail -n 3 | cut -c 2-5,8
rwxrr
rwxrr
rwxrr
2.3 每行显示第5个字节以后的内容
$ ls -al | tail -n 3 | cut -c 5-
rwxr-x 2 wjbvb2 wjbvb2 4096 6月 25 19:52 035_headtail
rwxr-x 2 wjbvb2 wjbvb2 4096 5月 6 20:27 temp
rwxr-x 4 wjbvb2 wjbvb2 4096 5月 6 20:20 ttt
$ ls -al | tail -n 3 | cut -c5-
rwxr-x 2 wjbvb2 wjbvb2 4096 6月 25 19:52 035_headtail
rwxr-x 2 wjbvb2 wjbvb2 4096 5月 6 20:27 temp
rwxr-x 4 wjbvb2 wjbvb2 4096 5月 6 20:20 ttt
2.4 每行显示第2、3、4个域
$ ls -al | tail -n 3 | cut -d ' ' -f 2,3,4
2 wjbvb2 wjbvb2
2 wjbvb2 wjbvb2
4 wjbvb2 wjbvb2
$ ls -al | tail -n 3 | cut -d ' ' -f 2-4
2 wjbvb2 wjbvb2
2 wjbvb2 wjbvb2
4 wjbvb2 wjbvb2
好了,今天的部分就到这里了,接下来的Shell脚本之旅会更久精彩!
===================================================================================
注意:本文为本人原创,版权所属为个人所有,欢迎转载,但是转载请注明出处。
===================================================================================