首页 » 信息技术 »

cut命令

2019年8月24日 / 14次阅读
Shell

Linux的命令行有不少是专门用来处理文本的,比如前面学习的sort命令,专门用来做排序。本文介绍cut命令,专门用来对文本做垂直切割,提取部分选择的字符。

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出

cut命令主要有3种定位方法:

  • 第一,字节(bytes),用选项-b
  • 第二,字符(characters),用选项-c,比对对多字节字符进行cut的时候
  • 第三,域(fields),用选项-f

-b参数,每行按字符提取

xinlin@ubuntu:~/test$ who
xinlin   :0           2019-08-15 10:45 (:0)
xinlin   pts/0        2019-08-19 10:49 (192.168.1.199)
xinlin   pts/2        2019-08-19 17:40 (192.168.1.199)
xinlin   pts/3        2019-08-24 13:46 (112.20.82.74)
xinlin@ubuntu:~/test$ who | cut -b 6  # 第6个字符
n
n
n
n
xinlin@ubuntu:~/test$ who | cut -b -6  # 前6个字符
xinlin
xinlin
xinlin
xinlin
xinlin@ubuntu:~/test$ who | cut -b 6-  # 从第6个字符开始到最后
n   :0           2019-08-15 10:45 (:0)
n   pts/0        2019-08-19 10:49 (192.168.1.199)
n   pts/2        2019-08-19 17:40 (192.168.1.199)
n   pts/3        2019-08-24 13:46 (112.20.82.74)
xinlin@ubuntu:~/test$ who | cut -b -6,6-  # 全部,第6个字符不会重复出现
xinlin   :0           2019-08-15 10:45 (:0)
xinlin   pts/0        2019-08-19 10:49 (192.168.1.199)
xinlin   pts/2        2019-08-19 17:40 (192.168.1.199)
xinlin   pts/3        2019-08-24 13:46 (112.20.82.74)
xinlin@ubuntu:~/test$ who | cut -b 3-18  # 3-18个字符
nlin   :0
nlin   pts/0
nlin   pts/2
nlin   pts/3
xinlin@ubuntu:~/test$ who | cut -b 5,10,25,35,45  # 多个不连续位置的字符
i:10
ip101
ip171
ip132

如果文本涉及多字节字符,就要使用-c参数,用法与-b一样;

或者使用-nb,-n参数与-b配合使用,含义是不要分割多字节字符。

-f参数,每行按列(域)提取

此时要跟-d参数配合,-d参数指明列的分隔符是什么,cut命令默认的分隔符是制表符(很不常用呀)。

xinlin@ubuntu:~/test$ cat te.txt
e:123:jkl
g:321:asdf
f:80:wer
q:32:qwer
xinlin@ubuntu:~/test$ cat te.txt | cut -d: -f 1  # 指定分隔符为:,取第1列
e
g
f
q
xinlin@ubuntu:~/test$ cat te.txt | cut -d: -f 3  # 指定分隔符为:,取第3列
jkl
asdf
wer
qwer
xinlin@ubuntu:~/test$ cat te.txt | cut -d: -f 2-3  # 指定分隔符为:,取第2到3列,这样去也就包含了第2列和第3列之间的分隔符
123:jkl
321:asdf
80:wer
32:qwer

-d' ',指定1个空格为分隔符,但是要注意多个连续空格的情况,小心取出空格列!

xinlin@ubuntu:~/test$ cat /etc/passwd | cut -d: -f 1,3-5 | head -n5  # 提取不连续的列,显示出来的分隔符也正常
root:0:0:root
daemon:1:1:daemon
bin:2:2:bin
sys:3:3:sys
sync:4:65534:sync

以上就是对cut命令使用的介绍。

本文链接:https://www.maixj.net/ict/cut-22704

相关文章

留言区


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top