cut 命令

(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]
使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
主要参数

-b :【--byte】   以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :【--character】  以字符为单位进行分割。
-d :【--delimiter】自定义分隔符,默认为制表符。
-f :【--fields】与-d一起使用,指定显示哪个区域。
-n :【--complement】取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
-s :【--only-delimited】不打印含分隔符的行

cat test |cut -b 3-4    每一行的第三到第四字节
cat test |cut -b 4    第四个字节
cat test |cut -b -3    前三个字节
cat test |cut -b 4-    从后数四个字节
cat test |cut -b 3-5,8   三到五个字节和第八个字节

$cat test
    qw:er:tyuiop
    as:df:ghjkl
    zx:cv:bnm
$cat test |cut -d : -f 1
    qw
    as
    zx

当然,在设定-f时,也可以使用例如3-5或者4-类似的格式,不过这样会连分隔符一起打印


在cut -d中用什么符号来设定制表符或空格呢?

其实cut的-d选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略-d选项,而直接用-f来取域就可以了。

如果你设定一个空格为间隔符,那么就这样:

$ cat tab_space.txt |cut -d ' ' -f 1

注意,两个单引号之间可确实要有一个空格哦,不能偷懒。
而且,只能在-d后面设置一个空格,可不许设置多个空格,因为cut只允许间隔符是一个字符。
如果文件里面的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为cut只擅长处理“以一个字符间隔”的文本内容

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文转自linux命令5分钟系列 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息...
    井底蛙蛙呱呱呱阅读 5,534评论 0 2
  • cut是以每一行为一个处理对象的。cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? ...
    Viking_Den阅读 21,968评论 0 3
  • cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。说明:...
    夏慕振阅读 3,359评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,219评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,971评论 9 468