Linux命令(13)——cut命令

1.功能

以行为单位,选择性输出符合条件的内容到标准输出。cut是一个选取命令。

2.格式

cut <选项> <file>

3.命令选项

-b <输出范围>,--bytes=LIST:设置输出的字节数或范围
-c <输出范围>,--characters=LIST:设置输出的字符数或范围|
-d <分隔符>,--delimiter=DELIM:指定列(或字段)的分隔字符。默认分隔符是制表符Tab。只能和-f选项一起使用
-f <输出范围>,--fields=LIST:设置输出字段,默认字段分隔符是空格
-n:与命令选项-b一起使用,不分割宽字符
--complement:反向选择输出字节、字符或字段
-s,--only-delimited:若行没有分隔符,则不显示该行。此选项只能和-f选项一起使用
--output-delimiter=STRING:使用字符串作为输出分隔符,默认是输入分隔符
--help:显示帮助信息
--version:显示版本信息

注意:如果不指定文件,或者文件名为”-“,则cut从标准输入读取内容。

4.示例

(1)以字符为单位输出指定范围的字符。 首先使用cat命令显示原文本文件内容如下:

hello world
i am lvlv
i like linux

使用cut命令选择第3到第5个字符输出:

[b3335@MIC test]$ cut -c 3-5 testfile
llo
am 
lik

如果没有指定结束字符的位置,即cut -c 3- testfile,则输出第三个字符到最后一个字符。同样我们可以使用字节为单位来进行,如果文本文件是单字节编码的字符,那么cut -b 3-5 testfile等同于cut -c 3-5 testfile

(2)以字段为单位输出指定字段。 还是以上面的testfile为例,输出第二列和第三列的内容:

[b3335@MIC test]$ cut -d ' ' -f 2,3 lvlv
world
am lvlv
like linux

注意,因为第一行没有第三列,所以输出为空。

小结: cut主要用途在于将同一行的数据进行分解、切割,最常使用在分析一些数据或文本数据的时候。这是因为有时候我们会以某些字符作为分隔的字符,然后将数据加以切割,以取得我们所需的数据。在分析log的时候,我们会经常用的到,不过cut在处理多个分隔符(如空格)相连的数据时,会有点问题。


参考文献

[1]man cut

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏草根专栏

使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下)

我想查看viewer下的repositories。注意里面的edges,一旦看到这个词,通常就表示有连接到某个数组的数据。在这里就是一个集合的repositor...

872
来自专栏编程

pythonic之路(二)

pythonic之路(二) 十、多用生成器和生成器表达式 至于什么是生成器,可参看我的另一篇文章迭代对象、迭代器、生成器浅析 如果需要迭代处理的序列包含了无限的...

1916
来自专栏黑泽君的专栏

c语言基础学习10_文件操作02

============================================================================= ==...

2921
来自专栏xingoo, 一个梦想做发明家的程序员

MFC常用的类详细介绍

常用的MFC类 CRuntimeClass结构 在CRuntimeClass结构中定义了类名、对象所占存储空间的大小、类的版本号等成员变量及动态创建对象、派生关...

1985
来自专栏屈定‘s Blog

Java学习记录--委派模型与类加载器

最近在读许令波的深入分析Java Web技术内幕一书,对于学习Java以来一直有的几个疑惑得到了解答,遂记录下来.

1417
来自专栏Petrichor的专栏

tensorflow: 对variable_scope进行reuse的两种方法

在tensorflow中,为了 节约变量存储空间 ,我们常常需要通过共享 变量作用域(variable_scope) 来实现 共享变量 。

1.5K5
来自专栏对角另一面

lodash源码分析之Hash缓存

在那小小的梦的暖阁,我为你收藏起整个季节的烟雨。 ——洛夫《灵河》 本文为读 lodash 源码的第四篇,后续文章会更新到这个仓库中,欢迎 star:poc...

3389
来自专栏java学习

1.3java的运行原理

java的运行原理 这里我们简单分析一下我们的第一个应用程序,其中涉及到很多没有接触过的概念,大家可先阅读以下,以后会详细讲解。重点是理解java的运行原理。 ...

3524
来自专栏ShaoYL

预处理指令(文件的包含)

3199
来自专栏专注 Java 基础分享

表示一个文件的 File 类型

从本篇文章开始,我们将开启对 Java IO 系统的学习,本质上就是对文件的读写操作,听上去简单,其实并不容易。Java 的 IO 系统一直在完善和改进,设计了...

930

扫码关注云+社区

领取腾讯云代金券