linux shell 命令学习(4) cut - remove sections from each line of files

之前写了split命令,split主要是按照行来进行文件的分割,而cut 是按照列来进行文件内容的选取

cut OPTION... [FILE]...

描述:

  按列选取FILE的内容进行输出

  -d : 列之间的分隔符,默认是TAB

  -f : 需要输出的列, 下面的指令是选择1,2列, 列之间是按照空格分开的 

[work@st01-.com ngramgen]$  ll | cut -d' ' -f1,2
total 162924
-rw-rw-r-- 1
-rw-rw-r-- 1
-rw-rw-r-- 1
-rw-rw-r-- 1
-rw-rw-r-- 1
-rw-rw-r-- 1

  -b: 每行仅选取指定的byte位进行输出, 以下代码仅选取每行第4和第6个byte

[work@st01.com ngramgen]$  ll | cut -d' ' -f1,2 | cut -b4,6
a 
-w
-w
-w
-w
-w

  -c: 选取每行指定字符位置进行输出,与-b类似,但是是以字符为单位

  --output-delimiter: 输出是,指定列之间的分隔符, 默认与输入分隔符一致 

[work@st01-.com doc]$ ll | cut -d' ' --output-delimiter="^xx^" -f1,2
total^xx^2292
-rw-rw-r--^xx^1
-rw-rw-r--^xx^1
-rw-rw-r--^xx^1
-rw-rw-r--^xx^1

 --complement:  输出未选中的列

这个命令在一些截取操作中还是很有用的

  

 

 

posted on 2014-04-23 20:39  一颗麦粒  阅读(377)  评论(0编辑  收藏  举报

导航