命令 : cut
用来截取某一个字段
语法: cut -d '分隔字符' [-cf] n 这里的n是数字
-d :后面跟分隔字符,分隔字符要用单引号括起来
-c :后面接的是第几个字符
-f :后面接的是第几个区块
-d 后面跟分隔字符,这里使用冒号作为分割字符,-f 1 就是截取第一段,-f和1之间的空格可有可无。
-c 后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1,n2,n3
命令 : sort
sort 用做排序
语法: sort [-t 分隔符] [-kn1,n2] [-nru] 这里的n1 < n2
-t 分隔符 :作用跟cut的-d一个意思
-n :使用纯数字排序
-r :反向排序
-u :去重复
-kn1,n2 :由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
如果sort不加任何选项,则从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
-t 后面跟分隔符,-k后面跟数字,表示对第几个区域的字符串排序,-n 则表示使用纯数字排序
-k3,5 表示从第3到第5区域间的字符串排序,-r表示反向排序
命令 : uniq
去重复的行:
-c :统计重复的行数,并把行数写在前面
使用uniq 的前提是需要先给文件排序,否则不管用。
命令 : tee
后跟文件名,类似与重定向 “>”, 但是比重定向多了一个功能,在把文件写入后面所跟的文件中的同时,还显示在屏幕上。
tee 常用语管道符 “|” 后
[root@localhost ~]# echo "aaaaaaaaaaaaaaaaaaaaaaaaaaa" |tee testb.txt
命令 : tr
替换字符,常用来处理文档中出现的特殊符号,如DOS文档中出现的^M符号。常用的选项有两个:
-d :删除某个字符,-d 后面跟要删除的字符
-s :把重复的字符去掉
最常用的就是把小写变大写: tr ‘[a-z]’ ‘[A-Z]’
[root@localhost ~]# head -n2 /etc/passwd |tr '[a-z]' '[A-Z]
当然替换一个字符也是可以的。
[root@localhost ~]# grep 'root' /etc/passwd |tr 'r' 'R'
不过替换、删除以及去重复都是针对一个字符来讲的,有一定局限性。如果是针对一个字符串就不再管用了.
命令 : split
切割文档,常用选项:
-b :依据大小来分割文档,单位为byte
如果split不指定目标文件名,则会以xaa xab... 这样的文件名来存取切割后的文件。当然我们也可以指定目标文件名:
[root@localhost split_dir]# split -b500 passwd 123
-l :依据行数来分割文档
[root@localhost split_dir]# split -l10 passwd
read -p "Please input a number: " x
date +%F =时间格式2018-08-31
date +%T =时间格式05:41:32
[root@localhost ~]# date "+%F %T"
2018-08-31 05:44:25