一、针对文档操作的命令
- 一般对文档操作的命令比较常用:cat、less、head、tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk 其中 grep、sed、awk是正则表达式必须掌握的工具
(1) cut 命令
- cut命令用来截取某一个字段,其格式为:“cut -d ‘分隔符’ [-cf] n” ,这里的"n" 是数字,这个命令拥有以下选项
- -d <==后面跟分割字符,分割字符要用单引号括起来
- -c <==后面接的是第几个字符
- -f <==后面接的是第几个区块
-
-d选项后面加冒号作为分隔符,“-f 1”表示截取第一段,“-f”和“1”之间的空格可有可无。
[[email protected] ~]# cat /etc/passwd | cut -d ‘:‘ -f 1 | head -n5 <==查看密码文件,截取第一段,显示五列 root bin daemon adm lp [[email protected] ~]# head -n2 /etc/passwd | cut -d ‘:‘ -f 3,5,8 <==查看密码文件,截取第三、五、八段 0:root 1:bin
- -c选项后面可以是1个数字n,也可以是一个区间n1-n2,还可以是多个数字n1、n2和n3
[[email protected] ~]# head -n2 /etc/passwd | cut -c2 <==打印密码文件的前两行并截取前两行的第二段 o i [[email protected] ~]# head -n2 /etc/passwd | cut -c1 <==打印密码文件的前两行并截取前两行的第一段 r b [[email protected] ~]# head -n2 /etc/passwd | cut -c1-10 <==打印密码文件的前两行并截取前两行的第一段到第十段 root:x:0:0 bin:x:1:1: [[email protected] ~]# head -n2 /etc/passwd | cut -c5-10 <==打印密码文件的前两行并截取前两行的第五段到第十段 :x:0:0 x:1:1: [[email protected] ~]# head -n2 /etc/passwd | cut -c -3 <==打印密码文件的前两行并截取前两行的前三段 roo bin [[email protected] ~]# head -n2 /etc/passwd | cut -c 3- <==打印密码文件的前两行并截取前两行的第三到末尾 ot:x:0:0:root:/root:/bin/bash n:x:1:1:bin:/bin:/sbin/nologin [[email protected] ~]# head -n2 /etc/passwd | cut -c3,5-8 <==打印密码文件的前两行并截取前两行的第三段和第五段到第八段 o:x:0 nx:1:
(2)soft命令
- sort命令用来做排序,其格式为:“sort [-t 分隔符] [-kn1,n2] [-nru]”,其选项如下
- -t <==后面跟分隔符,作用跟cut的-d选项一样
- -n <==表示使用纯数字排序
- -r <==表示反向排序
- -u <==表示去重复
- -kn1,n2 <==表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
- 如果sort不加任何选项,则从首字符向后依次按ASCII码进行比较,最后他们将升序输出
[[email protected] ~]# head -n5 /etc/passwd |sort <==打印/etc/passwd文件的前5行并sort排序,最后以ASCII码进行排序,以升序输出 adm:x:3:4:adm:/var/adm:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin root:x:0:0:root:/root:/bin/bash
- -t选项后面跟分隔符,-k选项后面跟单个数字表示对第几个区域的字符串排序 ,-n选项则表示使用纯数字排序
[[email protected] ~]# head -n5 /etc/passwd | sort -t: -k3 -n 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
- -r选项则反向排序
[[email protected] ~]# cat 123.txt <==查看并打印 123.txt 111111111111 33333333333 222222222222 444444444444 [[email protected] ~]# cat 123.txt | sort -r <==查看123.txt并反向排序 444444444444 33333333333 222222222222 111111111111
(3)WC命令
- wc命令用于统计文档的行数、字符数或单词数。其选项如下
- -l <==统计行数
- -m <==统计字符数
- -w <==统计单词数
- 注释:如果不加任何选项则会把行数、字符数、单词数依次输出
[[email protected] ~]# wc /etc/passwd <==不加任何参数会把行数、字符数、单词数依次输出 21 27 942 /etc/passwd [[email protected] ~]# wc -l /etc/passwd <==显示/etc/passwd文档中的行数 21 /etc/passwd [[email protected] ~]# wc -m /etc/passwd <==显示/etc/passwd文档中的字符数 942 /etc/passwd [[email protected] ~]# wc -m /etc/passwd <==显示/etc/passwd文档中的单词数 942 /etc/passwd
(4)uniq命令
- uniq命令用来删除重复的行,该命令只有-c选项比较有常用,它表示统计重复的行数,并把行数写在最前面
[[email protected] ~]# uniq test.txt <==不加任何选项,正常输出 test.txt 1111 2222 3333 2222 3333 [[email protected] ~]# sort test.txt | uniq <==先进行sort 排序然后再去除重复的行 1111 2222 3333 [[email protected] ~]# sort test.txt | uniq -c <==先进行sort 排序然后再去除重复的行,并显示多少条重复数 1 1111 2 2222 2 3333
时间: 2024-11-14 05:31:45