Linux指令用之记之-cut

来源:互联网 发布:centos中文乱码 编辑:程序博客网 时间:2024/06/10 20:18

cut:命令用来显示行中的指定部分,删除文件中指定字段。


使用说明
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。


选项

-b:仅显示行中指定直接范围的内容; 

-c:仅显示行中指定范围的字符; 

-d:指定字段的分隔符,默认的字段分隔符为“TAB”; 所以当你就是要使用制表符的时候,完全就可以省略-d选项

      而直接用-f来取域就可以了

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符; 

--complement:补足被选择的字节、字符或字段; 

--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;


举例:

1.字符串“RQMNAME(IN)   STATUS(OUT)”

   echo “RQMNAME(IN)   STATUS(OUT)” | cut   -d  ' '   -f1   

   输出:RQMNAME(IN)


2.字符串“RQMNAME(IN)   STATUS(OUT)”

   echo “RQMNAME(IN)   STATUS(OUT)” | cut   -d  ' '   -f2

   输出:RQMNAME(OUT)


3.字符串“RQMNAME(IN)   STATUS(OUT)”

   echo “RQMNAME(IN)   STATUS(OUT)” | cut   -d  ')'   -f2 | cut   -d  '('   -f2

   输出:OUT


4.如果遇到空格和制表符时,怎么分辨呢?我觉得有点乱,怎么办?
有时候制表符确实很难辨认,有一个方法可以看出一段空格到底是由若干个空格组成的还是由一个制表符组成的。
[rocrocket@rocrocket programming]$ cat tab_space.txt
this is tab finish.
this is several space      finish.
[rocrocket@rocrocket programming]$ sed -n l tab_space.txt
this is tab\tfinish.$
this is several space      finish.$
看到了吧,如果是制表符(TAB),那么会显示为\t符号,如果是空格,就会原样显示。
通过此方法即可以判断制表符和空格了。
注意,上面sed -n后面的字符是L的小写字母哦,不要看错。



参考链接:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html













原创粉丝点击