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
下一篇 2016-07-22

相关推荐

  • 学习宣言

    不妥协,不气馁,朝着自己的目标前进。

    Linux干货 2016-10-24
  • 网络配置

    Internet 协议特征  运行于OSI 网络层  面向无连接的协议  独立处理数据包  分层编址  尽力而为传输  无数据恢复功能     IP地址 它们可唯一标识IP 网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址&…

    Linux干货 2016-09-06
  • 8.3-ACL权限详解(命令篇)

    前言         我们都知道Linux有三种身份(owner,group,other)搭配三种权限(r,w,x)以及三种特殊权限(SUID,SGID,SBIT), 但是某些时候这些组合不能满足复杂的权限需求。 例如      …

    Linux干货 2016-08-04
  • sed 和 vim 的 用法

    处理文本的工具 三剑客之 sed sed是一种流编辑器,它一次处理一行内容。处理时,把 当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕。接着处理下一 行,这样不断重复,直到文件末尾。文件内容并没有改变 ,除非你使用重定向存储输出。Sed主要用来自动编辑…

    Linux干货 2016-08-12
  • linux入门基础命令总结

    命令基础

    2017-09-18
  • 8月9日sed(更新版)

    sed命令及vim基础使用命令 处理文本的工具sed stream editor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有…

    Linux干货 2016-08-15