`

Linux文本处理命令-----cut

阅读更多
cut命令可以从一个文本文件或者文本流中提取文本列。
 命令用法:
       cut -b list [-n] [file ...]
       cut -c list [file ...]
       cut -f list [-d delim][-s][file ...]
 
 
l      上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);
l      list表示-b、-c、-f操作范围,-n常常表示具体数字;
l      file表示的自然是要操作的文本文件的名称;
l      delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;
l      -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)
上面三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。
范围的表示方法:
N
 只有第N项
 
N-
 从第N项一直到行尾
 
N-M
 从第N项到第M项(包括M)
 
-M
 从一行的开始到第M项(包括M)
 
-
 从一行的开始到结束的所有项
 
下面是实例,先以较简单的“命令用法”中提及的第二条开始讲起:
 
interrupts文件中的字符排列非常齐整,正适合我们切豆腐。
但这里我们只对两个数字列感兴趣,用法如下:
 

里面还有一些不需要的内容,精减一下:
 
合到一起:
哇,果然够帅!!
 
不相邻列的截选又应该如何做呢?

这种方式需要事先确定占多少个字符位置,不仅麻烦,而且容易出错。
 
下面的问题该怎么去做?
 
 
这就是第二讲:使用cut –f提取文本中的字段。
cut –c主要是用来在固定字符位置或个数的文本文件中提取,对于上面的例子就显得无能为力了。仔细观察,发现passwd文件有个规律,就是以冒号来区分不同的段的文本,于是。。。
 
怎么样,好玩吧~!
 
继续,创建一个文本文件,名为a.txt,名字有点土,凑合着用吧。

A1、B1、C1所代表的行字符之间均以TAB分隔,D1却是以空格来分开的。

看到-s的作用了吗?(因为第一行不含有任何TAB字符,所以直接被剔除了),而最后一行(即D1行),是以空格区分间距,所以也不合要求。
 
多了个参数,这个我没讲,只要你的智商比范伟高一点点,就肯定能猜出来啦。^_^
 
好了,下面是最后一个用法的讲解了:
 

 
因为虚拟终端下无法显示汉字,所以我只好回到图形下,截图就成这个白不垃圾的样子啦,忍忍吧,就快讲完了。
在这个文件中,每个汉字都是用半角空格分隔的。
 



 

用cut –c已经成功了,下面试试cut –b怎么样?
 
没有反应,why?

  
原因在于汉字本身是双字节的,cut –c把汉字“我”当成一个字符来处理,而cut –b是以字节来处理,把“我”拆成了两个字节,结果是字符被“切成两半”,因此无法正常显示。
 
原因找到了,要怎么办才好呢?
 


it's ok!

参考至:http://www.cublog.cn/u2/76835/showart_2013601.html
如有错误,欢迎指正
邮箱:czmcj@163.com

分享到:
评论

相关推荐

    Linux文本处理命令合集

    主要涉及shell脚本中文本处理常见命令,diff/patch查找文本差异,字符串截取cut、tr、uniq等

    Linux文本编辑命令

    Linux文本编辑命令文档,例如ed、vi、cut、fmt、wc、less、more等

    一天一个shell命令 linux文本内容操作系列-cut命令详解

    主要介绍了一天一个shell命令 linux文本内容操作系列-cut命令详解,需要的朋友可以参考下

    Linux 常用文本处理命令和vim文本编辑器

    今天,来介绍几个常用文本处理命令和vim文本编辑器 day3–常用文本处理命令和vim文本编辑器  col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| col -b >help.txt 导出一份...

    Linux文本处理工具使用详解

    grep是一个文本工具,是通过一行一行来匹配文本进行处理的; 通过grep命令,借助-v参数显示不匹配的行; getent passwd | grep -Ev /sbin/nologin$ 2、查出用户UID最大值的用户名、UID及shell类型 Sort用于排序,...

    如何使用Linux文本操作命令ed进行提权nov5详解

    主要给大家介绍了关于如何使用Linux文本操作命令ed进行提权nov5的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Ultimate Plumber是使用即时实时预览编写Linux管道的工具-Golang开发

    up-Ultimate Plumber up是Ultimate Plumber,这是一个用于在基于终端的UI中交互编写Linux管道的工具...这可以通过提高任何典型Linux文本处理实用程序来实现,例如grep,sort,cut,cut,paste,awk,wc,perl等,等等。

    史上最全的 Linux Shell 文本处理工具集锦.doc

    本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;对shell脚本使用的原则是命令单行书写,尽量不要超过...

    Linux获取服务器硬件配置(CPU、内存、硬盘、主板)信息shell 脚本

    awk: 一种文本处理语言,常用于分析数据。 lspci: 列出系统中所有 PCI 设备的信息。 dmidecode: 一个工具,用于从 DMI 表中读取硬件信息。 使用该脚本,你可以获得 CPU、内存、硬盘、PCIe 设备、主板以及 厂商信息。

    上:Ultimate Plumber是用于使用即时实时预览编写Linux管道的工具

    这是通过提供快速,交互式,可滚动的结果预览来增强任何典型的Linux文本处理工具(例如grep , sort , cut , paste , awk , wc , perl等)来实现的。用法 | : | FreeBSD: | macOS: | 开始使用时,重定向...

    新版Linux Shell编程实训(全)20170518.docx

    项目十一 Shell文本处理命令 175 [学习目标] 175 任务11.1 学习和使用grep 176 任务11.2 学习和使用sed 179 任务11.3 学习和使用cut 183 任务11.4 学习和使用awk 185 练习(第一题10分,第2-7每题15分,共计100分) ...

    工作中常用的linux命令

    工作中采用的 linux 命令 ........................................................................................................ 3 1.从其他机器拷贝文件夹 .................................................

    LINUX与UNIX SHELL编程指南(很全)

    11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 ...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    Linux与unix shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...

    Linux与unix shell编程指南(1-16)

    11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 ...

    绝版经典《Linux与UNIX Shell编程指南》

    11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同的域分隔符 116 11.6.3 paste命令管道输入 117 11.7 split用法 117 11.8 小结 118 第12章 ...

Global site tag (gtag.js) - Google Analytics