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: 输出未选中的列
这个命令在一些截取操作中还是很有用的