cut最后几位 shell_shell命令_cut

该命令有两项功能,其一是用来显示文件的内容,它依次读取由参数file所指明的文件,将它们的内容输出到标准输出上;其二是连接两个或多个文件,如cut fl f2 > f3将把文件fl和f2的内容合并起来,然后通过输出重定向符“>”的作用,将它们放入文件f3中。

当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。

为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断键可以终止该命令的执行,并且返回Shell提示符状态。

语法格式:

# cut (选项) (参数)

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

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

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

-f:与-d一起使用,显示指定字段的内容;

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

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

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

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

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

参数:

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

三个定位方法:字节(bytes),用选项-b,一个空格算一个字节,一个汉字算三个字节

字符(characters),用选项-c

域(fields),用选项-f

cut的缺点是在处理多空格时。如果文件里面的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为cut只擅长处理“以一个字符间隔”的文本内容

使用例子

例一:

[root@VM_0_9_centos ~]# whoroot pts/0 2020-07-05 18:49 (59.109.219.127)

[root@VM_0_9_centos~]# who |cut -b 3o

[root@VM_0_9_centos~]# who |cut -b 4t

[root@VM_0_9_centos~]# who |cut -b 2-10oot p

[root@VM_0_9_centos~]# who |cut -b 18-30

2020-07-[root@VM_0_9_centos~]# who |cut -b 25-30

20-07-[root@VM_0_9_centos~]# who |cut -b 23-30

2020-07-[root@VM_0_9_centos~]# who |cut -b 23-33

2020-07-05

例二

[root@VM_0_9_centos ~]# cat /etc/passwd|cut -d : -f 1root

bin

daemon

admlp

syncshutdown

halt

mail

uucp

operator

games

gopherftpnobody

vcsa

abrt

ntp

saslauth

postfix

sshd

dbus

tcpdump

syslog

mysql

apache7nginx

[root@VM_0_9_centos~]# cat /etc/passwd|head -n5|cut -d : -f 1root

bin

daemon

admlp[root@VM_0_9_centos~]# cat /etc/passwd|head -n5|cut -d : -f 1,3-5,7root:0:0:root:/bin/bash

bin:1:1:bin:/sbin/nologin

daemon:2:2:daemon:/sbin/nologin

adm:3:4:adm:/sbin/nologinlp:4:7:lp:/sbin/nologin

事例3:字符

按字符cut相对比较简单,中文字符和空格都算一个字符。

Sun Jul 5 18:58:41 CST 2020[root@VM_0_9_centos~]# date |cut -c 1-5Sun J

[root@VM_0_9_centos~]# date |cut -c 1-8Sun Jul

[root@VM_0_9_centos~]# date |cut -c 15

5[root@VM_0_9_centos~]# date |cut -c 25

2[root@VM_0_9_centos~]# date |cut -c 25-28

2020

事例4:按域

按域cut

以/etc/passwd文件为例:

[root@VM_0_9_centos ~]# head -n5 /etc/passwd |cut -d : -f 1,3-5root:0:0:root

bin:1:1:bin

daemon:2:2:daemon

adm:3:4:admlp:4:7:lp

-d指定域分隔符,-f 指定要剪出哪几个域,这个与awk的输出特定字段功能一样。

-d选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略-d选项,而直接用-f来取域就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值