Linux命令cut

原文

cut

文件内容查看

显示行中的指定部分,删除文件中指定字段

显示文件的内容,类似于下的type命令。

说明

  • 该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和几的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。
  • 当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。

    为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。

    按Ctrl+C(中断键可以终止该命令的执行,并且返回Shell提示符状态。

语法

cut(选项)(参数)

选项

-b:仅显示行中指定直接范围的内容;

-c:仅显示行中指定范围的字符;

-d:指定字段的分隔符,默认的字段分隔符为“TAB”;

-f:显示指定字段的内容;

-n:与“-b”选项连用,不分割多字节字符;

--complement:补足被选择的字节、字符或字段;

--out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;

--help:显示指令的帮助信息;

--version:显示指令的版本信息。

参数

文件:指定要进行内容过滤的文件。

实例

1.例如有一个学生报表信息,包含No、Name、Mark、Percent:

cat test.txt

No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98

使用 -f 选项提取指定字段:

cut -f 1 test.txt
结果:
No
01
02
03
cut -f2,3 test.txt
结果:
Name Mark
tom 69
jack 71
alex 68

--complement 选项提取指定字段之外的列(打印除了第二列之外的列):

cut -f2 --complement test.txt
结果:
No Mark Percent
01 69 91
02 71 87
03 68 98

2.使用 -d 选项指定字段分隔符:

cat test2.txt

No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98

cut -f2 -d";" test2.txt
结果:
Name
tom
jack
alex

3.指定字段的字符或者字节范围

cut命令可以将一串字符作为列来显示,字符字段的记法:

N-:从第N个字节、字符、字段到结尾;

N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;

-M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:

-b 表示字节;

-c 表示字符;

-f 表示定义字段。

例:

cat test.txt

abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz

打印第1个到第3个字符:

cut -c1-3 test.txt
结果:
abc
abc
abc
abc
abc

打印前2个字符:

cut -c-2 test.txt
结果:
ab
ab
ab
ab
ab

打印从第5个字符开始到结尾:

cut -c5- test.txt
结果:
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz

原文地址:https://www.cnblogs.com/tan-y-q/p/10807183.html

时间: 2024-10-09 00:13:56

Linux命令cut的相关文章

linux 命令cut用法

cut命令        cut [OPTION]... [FILE]...            -d DELIMITER: 指明分隔符            -f FILEDS:                #: 第#个字段                #,#[,#]离散的多个字段例如1,3,6                #-#连续的多个字段, 例如1-6 混合使用1-3,7            --output-delimiter=STRING             [[ema

linux命令-cut

很久之前就不是很系统的学习了linux常用的处理字符的命令.虽然当时学习进展自己也很满意.但是过后又容易忘记. 现在系统的学了linux的shell命令.简单的总结一下: cut顾名思义,用来把目标砍成一段一段的.简单看下用法. cut [-b | -c |  -f ] "数字" -d "seprate" --complement --output-delimiter -b以字节为单位进行分割 -c以字符为单位进行分割 -f以单词为单位进行分割. 说实话,-b-c我

linux命令cut用法

--按文件大小排序 显示前100行 显示后五列 ll -Sh|head -n 100|cut -d ' ' -f 5- 一.基本语法cut是一个选取命令,以行为单位,用指定分隔符将行切分为若干字段,选取所需要的字段.1.语法格式cut [option] filesoption常用参数如下: -d:用来定义分隔符,默认为tab键,一般与-f配合使用(如果分隔符是空格,必须是两个单引号之间确实有一个空格,是一个哦,不是支持多个)-f:需要选取的字段,根据-d切分的字段集选取,下标从1开始-s:表示不

linux命令 cut grep

cut 处理log数据等,切出想要的信息. cut -d '分隔符' -f   '第几段'   和-f同时使用 -c    字符区间  截取字符区间 原文地址:https://www.cnblogs.com/hellohell/p/8192232.html

Linux之cut命令

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为:cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准输出.如果不指定 File 参数,cut 命令将读取标准输入.必须指定 -b.-c 或 -f 标志之一. 主要参数-b :以字节为单位进

Linux命令:cp、time、cut、awk 、获取文件大小命令

最近写了一个shell脚本,用到了cp.time.cut.awk命令,把他们的使用方法给写下来: 1.cp和mv cp命令:用来完成文件的复制,从源文件夹复制到目标文件夹.执行后源文件夹和目标文件夹均有源文件. mv 命令:用来移动文件.执行后,源文件夹中没有源文件.我经常用mv命令来重命名文件 注意:cp命令源文件夹与目标文件夹不能使同一个:而在mv中可以是同一个. 命令解析: #cp [-R] 源文件 目标文件夹 cp -R 参数 ---当复制整个文件夹时使用. #mv 源文件 目标文件夹

Linux——note shell常用命令 cut 、sort、unqi、tee、tr、split和shell中连接符&& ||

1.cut 常用作将一个文件分段 cut -d'分隔符' [-cf] n -d 后面指定分隔符,用单引号引起来. -f 指定第几段 -c 后面只有一个数字表示截取第几个字符,后面跟一个数字区域,表示截取从几到几. [[email protected] ~]# cut -d: -f 3 /etc/passwd [[email protected] ~]# cut -d: -f 3,4 /etc/passwd [[email protected] ~]# cut -c 10 /etc/passwd

Linux 之Cut命令详解

摘自:http://blog.csdn.net/zsf8701/article/details/7718680 Linux 之Cut命令详解 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的. (1)其语法格式为: cut  [-bn] [file] 或 cut [-c] [file]  或  cut [-df] [file] 使用说明 cut 命令从文件的每一行剪切字节.字符和字段并将这些字节.字符和字段写至标准

Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs

在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail 等都是可以接受 standard input 的管线命令啦.至于例如 ls, cp, mv 等就不是管线命令了!因为 ls, cp, mv 并不会接受来自 stdin 的数据. 也就是说,管线命令主要有两个比较需要注意的地方: 管线命令仅会处理 standard output,对于 standar