linux中查看文件及内容处理的cut命令介绍,linuxcut
linux中查看文件及内容处理的cut命令介绍,linuxcut
1、命令说明:
cut命令其功能是将文件的每一行按指定分隔符分割并输出。
2、语法:
cut [选项]... [文件列表]...
3、实例:
举个例子,在文件 /etc/passwd 中,每行都是使用 6 个冒号隔开的 7 列文本:
[root@CentOS ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt ......(略去内容)......
如果我们想提取出特定的信息,比如我们需要打印出系统中的所有用户:
[root@CentOS ~]# cat /etc/passwd | cut -f 1 -d ':'????# -f 选项指定列,这里代表提取第一列; -d 选项用于指定分隔符 root bin daemon adm lp sync shutdown halt ......(略去内容)......
又或者想同时打印出用户和这个用户的家目录:
[root@CentOS ~]# cat /etc/passwd | cut -f 1,6 -d ':' root:/root bin:/bin daemon:/sbin adm:/var/adm lp:/var/spool/lpd sync:/sbin shutdown:/sbin halt:/sbin .....(略去内容)......
又或者同时打印出每位用户的登录shell(即用户登录,所使用的shell):
[root@CentOS ~]# cat /etc/passwd | cut -f 1,6-7 -d ':' root:/root:/bin/bash bin:/bin:/sbin/nologin daemon:/sbin:/sbin/nologin adm:/var/adm:/sbin/nologin lp:/var/spool/lpd:/sbin/nologin sync:/sbin:/bin/sync shutdown:/sbin:/sbin/shutdown halt:/sbin:/sbin/halt ......(略去内容)......
我们可以发现,以上 cut 使用场景中具有一个特点,就是在处理的行中都有特定分隔符,但如果要处理的行是没有分隔符的呢,cut 就没有用武之地了?答案是否定的,假设我们想要打印出每行第 1 ~ 5 个字符,以及第7 ~ 10个字符的内容,如下所示:
[root@CentOS ~]# cat /etc/passwd | cut -c 1-5,7-10????# 其中 -c 选项表示以字符为单位进行分割 root::0:0 bin:x1:1: daemo:x:2 adm:x3:4: lp:x::7:l sync::5:0 shutdwn:x halt::7:0 ......(略去内容)......
评论暂时关闭