cut用法

 

linux cut用法

2016年08月12日 20:45:40 1出现1 阅读数:29362 标签: shell cut 正则表达式 更多

个人分类: OK6410 shell

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011003120/article/details/52190187

一、作用

cut命令是一个选取命令,其功能是将文件中的每一行”字节” ”字符” ”字段” 进行剪切,选取我们需要的,并将这些选取好的数据输出至标准输出

二、格式

cut -[n]b file
cut -c file
cut -d[分隔符] -f[域] file

三、参数解释

-b(bytes) :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c(characters) :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f(filed) :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
范围之内,该字符将被写出;否则,该字符将被排除。

四、实例分析

新建一个test1.txt,如下

557adfhg
bcd5464b
135465453456
233546576
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5

新建一个test2.txt,如下

[root@localhost shell]# cat test2.txt 
星期一
星期二
星期三
星期四
星期五
星期六
星期日
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

1) -b

1.剪切单个字节

如下,只剪切txt中的每一行的第一个字节

[root@localhost shell]# cut -b 1 test1.txt 
5
b
1
2
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.剪切多个字节

剪切多个字符有很多方式,
如 -b 1,3,5 //剪切每一行第 1 3 5个字符 (示例1)
如 -b 1-5 //剪切每一行第 1-5 个字符 (示例2)
如 -b -5 //剪切每一行第 1-5 个字符 (示例3)
如 -b 3- //剪切每一行第 3个字符以后的 (示例4)

示例1:

[root@localhost shell]# cut -b 1,3,5 test1.txt 
57d
bd4
156
234
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例2:

[root@localhost shell]# cut -b 1-5 test1.txt 
557ad
bcd54
13546
23354
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例3:

[root@localhost shell]# cut -b -5 test1.txt 
557ad
bcd54
13546
23354
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

示例4:

[root@localhost shell]# cut -b 3- test1.txt 
7adfhg
d5464b
5465453456
3546576
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.剪切字符

首先按照上面的例子对test2.txt进行操作,看有什么现象

[root@localhost shell]# cut -b 2 test2.txt 
�
�
�
�
�
�
�
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

出现了乱码的现象,因为-b 只是针对字节进行裁剪,对一个汉字进行字节裁剪,得到的结果必然是乱码,若想使用 -b 命令对字节进行裁剪,那么则需要使用 -n 选项,此选项的作用是取消分割多字节字符。

[root@localhost shell]# cut -nb 3 test2.txt 

星
星
星
星
星
星
[root@localhost shell]# cut -nb 3,6  test2.txt 
星
星期
星期
星期
星期
星期
星期
[root@localhost shell]# cut -nb 3,6,9  test2.txt 
星期
星期二
星期三
星期四
星期五
星期六
星期日
[root@localhost shell]# cut -nb 3,6,9,12  test2.txt 
星期一
星期二
星期三
星期四
星期五
星期六
星期日
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

2) -c

-c的作用就是剪切字符,和上面的 -nb 有些类似

[root@localhost shell]# cut -c 1 test2.txt 

星
星
星
星
星
星
[root@localhost shell]# cut -c 2 test2.txt 
星
期
期
期
期
期
期
[root@localhost shell]# cut -c 1-3 test2.txt 
星期
星期二
星期三
星期四
星期五
星期六
星期日
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

3)-f

上面的-b -c 只是针对于格式固定的数据中剪切,但是对于一些格式不固定的,就没有办法获取到我们想要的数据,因此便有了 -f 域的概念。

示例1:

[root@localhost shell]# cat /etc/passwd | head -n 3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5

例如将上面的第一个 : 前面的字符给剪切出来,那么我们就可以使用 -d 命令,指定其分割符为 : 然后再选取第一个域内的内容即可,如下

[root@localhost shell]# cat /etc/passwd | head -n 3 | cut -d : -f 1
root
bin
daemon
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5

示例2:
剪切ip地址,如下:

[root@localhost shell]# ifconfig eth0 | grep "inet addr"
          inet addr:192.168.1.199  Bcast:192.168.1.255  Mask:255.255.255.0
[root@localhost shell]# ifconfig eth0 | grep "inet addr" | cut -d : -f 2
192.168.1.199  Bcast        //以 : 为分隔符,选取第二个域里面的内容,输出
[root@localhost shell]# ifconfig eth0 | grep "inet addr" | cut -d : -f 2 | cut -d ' ' -f 1 
192.168.1.199             //以空格为分割符,选取第一个域内的内容,输出
[root@localhost shell]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

菜鸟一枚,如有错误,多多指教。。。

 

 

 

æ³å¯¹ä½è说ç¹ä»ä¹

 

发表评论

添加代码片

  • HTML/XML
  • objective-c
  • Ruby
  • PHP
  • C
  • C++
  • JavaScript
  • Python
  • Java
  • CSS
  • SQL
  • 其它

还能输入1000个字符

  • yishu3576

    yishu3576: 加油!! 很优秀.(04-16 12:59#3楼)举报回复

  • qq_39664126

    qq_39664126: 相当不错,很详细(09-11 20:10#2楼)举报回复

  •  
  • 上一页
  • 1
  • 下一页
  •  

Linux每天学习一个命令之cut命令

baidu_35738377 baidu_35738377

01-06 1310

cut 命令是一个选取命令,是处理一行数据的命令 cut [-c] file | cut [-df] file| cut [b] file cut命令是从文件中的每一行进行字节,字符和字段的...

cut命令详解

AstrayLinux AstrayLinux

11-30 9403

1 一两句话描述一下cut命令吧! 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。 cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期...

linuxcut命令的用法 - CSDN博客

9-10

linux中截取字符串cut命令用法简介: 语法:cut -cnum1-num2 fileName 使用权限:所有使用者说明:显示每行从开头算起 num1 到 num2 的文字。例子: shell... ...

cut - CSDN博客

8-17

linux中截取字符串cut命令用法简介: 语法:cut -cnum1-num2 fileName 使用权限:所有使用者说明:显示每行从开头算起 num1 到 num2 的文字。例子: shell... ...

 

 

Shell基础(四):正则表达式、cut、awk、sed命令

lyc_stronger lyc_stronger

03-11 3483

前言: 正则表达式是描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换。(主要为了模糊匹配) 1、正则表达式与通配符区别 ①通配符(* ? [])用来匹配符合条件的...

cut命令用法 - CSDN博客

9-5

其语法格式为: cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符...

cut命令详解 - CSDN博客

8-25

Linux:cut命令详解cut文件内容查看显示行中的指定部分,删除文件中指定字段显示文件的内容,类似于下的type命令。说明该命令有两项功能,其一是用来显示文件的内容,它...

每天一个linux命令——cut

qq_29631251 qq_29631251

02-17 1037

cut:用来显示行中的指定部分,删除文件中指定字段。 语法: cut [ 选项 ] [ 参数 ] 选项: -d:指定字段的分隔符,默认的字段分隔符为“TAB” -f:显示指定字段的内容 -...

Linux操作命令(七):cut、paste、tr

java_green_hand0909 java_green_hand0909

04-19 183

 Linux命令实例练习一、实验介绍1.1 实验内容1.2 实验知识点1.3 实验环境二、实验步骤2.1 cut 命令2.2 paste 命令2.3 tr 命令三、参考链接Linux操作命令(七)一、...

cut命令使用大全

9-9

*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M *详细原因: 取  消 提  交 cut命令使用大全 3积分 立即下载 ...

linux cut命令 使用+解析(实例) - CSDN博客

9-9

cut 常用于 管道命令的结果选取 命令原型 cut [选项]… [文件]… 常用选项 -d, –delimiter=分界符 使用指定分界符代替制表符作为区域分界 -f, –fields=LIST...

linux cut 命令详解

kai404 kai404

08-10 3752

基础:   如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。主要参数-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n...

Linux下的cut命令详解 - CSDN博客

9-10

正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut是以每一行为一个处理对象的,这种机制和sed是一样的 剪切依据 cut命令主要是接受三...

cut命令 - CSDN博客

8-10

文章标签: cut命令 个人分类: Linux命令 相关热词: 函数cut cut匹配 cut—d cut实例 qcut和cut 上一篇egrep命令 下一篇tac命令 unix...

linuxcut用法

e62ces0iem e62ces0iem

06-05 231

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。 (1)其语法格式为: cut  [-bn] [file] ...

linux cut命令

GUI1259802368 GUI1259802368

05-27 252

cut是一个将文本按列进行切分的小巧工具,也可以指定分隔每列的定界符。在cut的术语中,每列被称为一个字段。cut基本特性(1)要提取特定的字段或列,可以使用下面的语法:cut -f FIELD_LI...

cut命令小结 - CSDN博客

6-15

对cut命令的学习记录!... cut是一个很简单的命令,但是却是很实用的一个linux命令。 cut将输入流以行为单位,以一定的条件切割,最后将结果打印在标准输出(stdout)。...

Linux命令: cut命令的使用方法 - CSDN博客

9-7

Linux命令: cut命令的使用方法2017年11月26日 13:50:02 阅读数:164 标签: linux 个人分类: Linux系统 1、cut用法(文本显示剪切)    -d : 制定字段分隔...

linux cut 例子

zswjob126 zswjob126

09-07 391

cut 用法介绍: 先举个例子 cut -c 1 -d ':'  --output-delimiter=$'\t' /etc/passwd 1、cut 顾名思义他要截取一行的某段或者某几...

Linuxcut命令用法详解

Frozen_fish Frozen_fish

04-08 6万

 Linux下cut命令用法详解                                                           原创:frozen_sucker(冰棍)有时我们经...

相关热词

linux》 》linux linux的 linux【】 linux的和

没有更多推荐了,返回首页

个人资料

1出现1

关注

原创

78

粉丝

39

喜欢

21

评论

12

等级:

访问:

17万+

积分:

1984

排名:

2万+

勋章:

持之以恒

授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

 

最新文章

个人分类

展开

归档

展开

 

联系我们

客服

请扫描二维码联系客服

webmaster@csdn.net

400-660-0108

QQ客服 客服论坛

关于招聘广告服务 网站地图

©2018 CSDN版权所有 京ICP证09002463号

百度提供搜索支持

app

经营性网站备案信息

网络110报警服务

中国互联网举报中心

北京互联网违法和不良信息举报中心

CSDN APP

 

 

不良信息举报

举报内容:

linux cut用法

举报原因:

色情 政治 抄袭 广告 招聘 骂人 其他

原文地址:

 

原因补充:

最多只允许输入30个字

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值