`

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文本处理命令合集

    ### Linux文本处理命令合集详解 #### diff/patch:查找/修补文本差异 - **diff** 命令用于比较两个文件之间的不同之处。 - `diff version1.txt version2.txt`:简单地列出两个文件之间的不同行。 - `diff -u ...

    Linux教程-linux-文本处理-grep.docx

    grep 命令是 Linux 系统中最常用的文本处理工具之一,它可以根据用户指定的模式对目标文本逐行进行匹配检查,并打印匹配到的行。grep 命令的格式为:grep [OPTIONS] PATTERN [FILE...] 其中,OPTIONS 是可选参数,...

    Linux文本编辑命令

    1. **ed**:它是最早的Linux文本编辑器,基于行的界面使得它对初学者来说可能较为复杂。`ed`命令允许用户在内存中编辑文本,然后将其写入文件。基本用法包括`a`(追加)、`i`(插入)、`d`(删除)和`w`(写入)等。...

    Linux命令学习+Linux标准文本处理命令

    #### 文本处理命令 - `cat`(显示文件内容) - `grep`(搜索文件内容) - `sed`(流编辑器,用于文本转换和过滤) - `awk`(强大的文本分析工具) - `cut`(截取文件中的字段) - `sort`(排序文件内容) - `uniq`...

    Linux常用命令--完整

    Linux系统中存在众多的命令行工具,它们支持文件管理、文本处理、系统监控等诸多功能。下面详细说明一些Linux常用命令及其用法。 首先,文件管理是Linux中常见的操作,常用的命令包括但不限于: 1. cat命令:用于...

    Linux 命令全集 - - Linux 命令全集

    Linux是世界上最广泛使用的开源操作系统之一,其核心在于命令行界面,通过各种命令来管理系统、文件和进程。本文将深入探讨Linux命令全集中的关键知识点,帮助用户更好地理解和使用Linux。 1. **基础命令** - `ls`...

    Linux下cut命令用法详解.doc

    `cut` 命令是 Linux 中非常实用且强大的文本处理工具之一。通过掌握上述不同的定位方法和示例,我们可以更加灵活地对文件进行数据提取和处理。无论是处理简单的数据还是复杂的文本文件,`cut` 都能提供简单有效的...

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

    `cut`命令是Linux Shell中用于处理文本内容的工具,尤其在处理结构化的数据文件时非常有用。它允许用户按照指定的字段(列)或字符来切割文件内容,以提取所需的信息。`cut`命令的基本语法是`cut [选项]... [文件].....

    linux中截取字符串cut命令用法简介[借鉴].pdf

    Linux 中的 cut 命令是一种功能强大的文本处理工具,能够帮助用户快速提取文本文件中的特定字符串或字段。下面是 cut 命令的语法和用法简介: 语法:`cut -c num1-num2 fileName` 使用权限:所有用户 说明:显示...

    Linux命令大全-2024

    ### Linux命令大全-2024:系统管理与设置篇 #### 1. 信息显示命令 **Linux** 是一种广泛使用的开源操作系统,其强大的功能和灵活性使其成为服务器管理和开发人员首选的操作系统之一。了解如何有效地使用 **Linux**...

    cut命令使用大全

    cut 命令是 Linux 系统中的一种文本处理命令,用于截取字符串。下面是对 cut 命令的详细讲解。 语法 cut 命令的基本语法为:`cut -c num1-num2 fileName`,其中 `-c` 选项指定要截取的字符范围,`num1` 和 `num2` ...

    最新-Linux常用命令大全-非常实用

    Linux 常用命令大全 Linux 操作系统是当今最流行的操作系统之一,作为一个 Linux 用户或管理员,掌握常用的 Linux 命令是非常重要的。本文将总结一些常用的 Linux 命令,涵盖系统管理、用户管理、磁盘管理、文件...

    Linux命令详称--各命令的英文全称

    在Linux操作系统中,命令行是用户与系统交互的主要方式之一,掌握各种命令的英文全称及其功能至关重要。本文将详细讲解部分常见的Linux命令及其用途。 1. `alias`: 创建别名,可以为复杂的命令或命令组合创建简短的...

    linux常用的命令集合

    cut命令用于按照指定分隔符分割文本,并选择文本文件中的一列或几列作为输出。 - 使用方式:cut [选项] 文件名 - 选项: - -b:按照字节输出文本。 - -c:按照字符输出文本。 - -d:指定分隔符,默认为制表符。 ...

    Linux cut 命令详解

    Linux `cut` 命令是Linux和Unix系统中用于从文本文件的每一行中截取部分数据的强大工具。它允许用户基于字节、字符、字段(以特定分隔符划分)来选取需要的部分,并将结果输出到标准输出。本文将深入探讨`cut`命令的...

    Linux 常用命令整理

    - `cut`命令用于剪切文本,通过`-d`指定分隔符,`-f`指定字段,`-c`指定字符区间。 - `cat`命令用于查看文件内容,也可以用来合并文件。`-n`选项为每行添加行号,`-s`压缩多个空行至一行,`-T`用'^I'替换制表符。 ...

    linux中截取字符串cut命令用法简介参考.pdf

    Linux 中截取字符串 cut 命令是 Linux 系统中的一种常用命令,用于截取文本文件中的指定字符串。cut 命令可以根据不同的选项来截取不同的字符串,例如根据字符、字节、字段等。 cut 命令基本语法 cut 命令的基本...

Global site tag (gtag.js) - Google Analytics