cut命令练习总结

cut命令的作用是实现文本内容的切割,原内容或者原文件不受影响。

  cut小练习:

          
            2016年 07月 21日 星期四 23:19:56 CST

            1:以字节为为单位进行切割 -b
                 date | cut -b 1-4
                     显示结果为 2016
                 date | cut -b 1-5
                     显示结果依然为2016

                 date | cut -b 1-6
                      显示结果依然为2016
                 date | cut -b 1-7
                      显示结果为2017年
                所以得出一个汉字占据三个字符

                  注意,当时用-b提取中文数据时候,可能会出现乱码的问题
                             对比如下
                                  [root@localhost ~]# date | cut -b 7
                                   ´
                                  [root@localhost ~]# date | cut -nb 7
                                   年
                               当遇到多字节字符时,可以使用-n选项,-n用于告诉cut不要将多字节字符拆开。

            2:以字符为单位进行切割-c

                 date | cut -c 1-4
                     显示结果为2016
                 date | cut -c 1-5
                      显示结果为2016年

                则一个汉字为一个字符

            3:以自定义分隔符进行切割-d

                  cat /etc/passwd | head -n 5 | cut -d: -f 1,3,5
                      显示结果为
                        root:0:root
                        bin:1:bin
                        daemon:2:daemon
                        adm:3:adm
                        lp:4:lp
                 
                 *当文件中存在制表符和空格符时候,怎么区分
                     首先查看cut.txt的文件内容
 
                     [root@localhost test]# cat cut.txt
                     this is tab    finish init
                     this is several space    finish

                     [root@localhost test]# sed -n l cut.txt
                     this is tab\tfinish init$
                     this is several space    finish$
                     
                     可以看出第一行tab后面\t,这就是制表符,而空格符依然以空格显示,用cut命令操作看看有什么不同
                     [root@localhost test]# cat cut.txt | cut -d ' ' -f 3
                     tab    finish
                     several
                     结果显示虽然是空格,但是却是制表符显示的结果,换个方式显示
                     [root@localhost test]# cat cut.txt | cut -d ' ' -f -3
                     this is tab    finish
                     this is several
                     其中tab    finish中间是用制表符隔开的
                     -3代表from first to M'th (included) byte, character or field 从第一个到3中间中间所有符合的。

原创文章,作者:我的滑板鞋,如若转载,请注明出处:http://www.178linux.com/25141

(1)
我的滑板鞋我的滑板鞋
上一篇 2016-07-22 10:06
下一篇 2016-07-22 10:06

相关推荐

  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; # fdisk /dev/sda n p 3 w # partx -a /dev/sda  # partx -a /dev/sda # mke2fs -t ext4 -b&nbs…

    Linux干货 2016-10-09
  • awk用法一

      gawk程序是Unix中的原始awk程序的GNU版本,它提供了一种编程语言而不只是编辑器命令。在CentOS中awk命令实际上是gawk程序的链接文件名。   基本语法:     awk [options] ‘program’ flie1 file2 ……

    Linux干货 2015-12-24
  • 10个必需的iOS开发工具和资源

       界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPhone/iPad的界面是一件多么不容易的事。下面的文章来自10 Essential iOS Developer Tools & Resources,这个文章介绍了十个iOS开发的基础性工具和资源,其一定会很有效地帮你做iO…

    Linux干货 2015-04-01
  • 马哥教育网络班N22期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bashnolo_user=0login_user=0while read user;do    bash_type=$(e…

    Linux干货 2016-10-21
  • 配置LAMP (php-fpm模式)部署步骤

    配置LAMP (php-fpm模式)部署步骤 1.安装mariadb yum install maridb-server -y 1).配置server.cnf cp /etc/my.cnf.d/server.cnf{,.back} vim /etc/my.cnf.d/server.cnf ##mariadb服务器端配置文件 [mysqld] ##以下项是优化…

    Linux干货 2017-06-02
  • Linux系统中的Inode节点表

    索引节点是指在许多类Unix文件系统中的一种数据结构。每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。

    2017-11-16