|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!行的排序下令sort:
1.sort下令行选项:
选项形貌-t字段之间的分开符-f基于字符排序时疏忽巨细写-k界说排序的域字段,大概是基于域字段的局部数据举行排序-m将已排序的输出文件,兼并为一个排序后的输入数据流-n以整数范例对照字段-ooutfile将输入写到指定的文件-r颠倒排序的按次为由年夜到小,一般排序为由小到年夜-u只要独一的纪录,抛弃一切具有不异键值的纪录-b疏忽后面的空格
2.sort利用实例:
提醒:鄙人面的输入了局中白色标注的为第一排序字段,前面的顺次为紫、绿。
/>sed-n1,5p/etc/passwd>users
/>catusers
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
#-t界说了冒号为域字段之间的分开符,-k1指定基于第一个字段正向排序(字段按次从1入手下手)。
/>sort-t:-k1users
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
#仍是以冒号为分开符,此次是基于第三个域字段举行颠倒排序。
/>sort-t:-k3rusers
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
#先以第六个域的第2个字符到第4个字符举行正向排序,再基于第一个域举行反向排序。
/>sort-t:-k6.2,6.4-k1rusers
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
#先以第六个域的第2个字符到第4个字符举行正向排序,再基于第一个域举行正向排序。和上一个例子比,第4和第5行互换了地位。
/>sort-t:-k6.2,6.4-k1users
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
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
#基于第一个域的第2个字符排序
/>sort-t:-k1.2,1.2users
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#基于第六个域的第2个字符到第4个字符举行正向排序,-u下令请求在排序时删除键值反复的行。
/>sort-t:-k6.2,6.4-uusers
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
/>cat/etc/passwd|wc-l#盘算该文件中文本的行数。
39
/>sed-n35,$p/etc/passwd>users2#取最初5行并输入到users2中。
/>catusers2
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
mysql:x:27:27:MySQLServer:/var/lib/mysql:/bin/bash
pulse:x:496:494:PulseAudioSystemDaemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
stephen:x:500:500:stephen:/home/stephen:/bin/bash
#基于第3个域字段以文本的情势排序
/>sort-t:-k3users2
mysql:x:27:27:MySQLServer:/var/lib/mysql:/bin/bash
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:496:494:PulseAudioSystemDaemon:/var/run/pulse:/sbin/nologin
stephen:x:500:500:stephen:/home/stephen:/bin/bash
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
#基于第3个域字段以数字的情势排序
/>sort-t:-k3nusers2
mysql:x:27:27:MySQLServer:/var/lib/mysql:/bin/bash
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
pulse:x:496:494:PulseAudioSystemDaemon:/var/run/pulse:/sbin/nologin
stephen:x:500:500:stephen:/home/stephen:/bin/bash
#基于以后体系实行历程的owner名排序,并将排序的了局写进到result文件中
/>ps-ef|sort-k1-oresult
十三.删除反复行的下令uniq:
uniq有3个最为经常使用的选项,见以下列表:
选项下令形貌-c可在每一个输入行之前加上该行反复的次数-d仅显现反复的行-u显现没有反复的行/>cattestfile
hello
world
friend
hello
world
hello
#间接删除未经排序的文件,将会发明没有任何行被删除
/>uniqtestfile
hello
world
friend
hello
world
hello
#排序以后删除反复行,同时外行首地位输入该行反复的次数
/>sorttestfile|uniq-c
1friend
3hello
2world
#仅显现存在反复的行,并外行首显现该行反复的次数
/>sorttestfile|uniq-dc
3hello
2world
#仅显现没有反复的行
/>sorttestfile|uniq-u
friend
十四.文件紧缩解压下令tar:
1.tar下令行选项
选项下令形貌-c创建紧缩档案-x解压--delete从紧缩包中删除已有文件,假如该文件在包中呈现屡次,该操纵将其全体删除。-t检察紧缩包中的文件列表-r向紧缩回档文件开端追加文件-u更新原紧缩包中的文件-z紧缩为gzip格局,或以gzip格局解压-j紧缩为bzip2格局,或以bzip2格局解压-v显现紧缩或解压的历程,该选项一样平常不适于背景操纵-f利用档案名字,这个参数是最初一个参数,前面只能接档案名。
2.tar利用实例:
#将以后目次下一切文件紧缩打包,必要申明的是良多人都习气将tar工具紧缩的文件的扩大名定名为.tar
/>tar-cvftest.tar*
-rw-r--r--.1rootroot183Nov1108:02users
-rw-r--r--.1rootroot279Nov1108:45users2
/>cp../*.log.#从上一层目次新copy一个.log文件到以后目次。
/>tar-rvftest.tar*.log#将扩大名为.log的文件追加到test.tar包里。
/>tar-tvftest.tar
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
-rw-r--r--root/root482172011-11-1122:16install.log
/>touchinstall.log#使原本的文件更新一下最新修正工夫
/>tar-uvftest.tar*.log#从头将更新后的log文件更新到test.tar中
/>tar-tvftest.tar#从输入了局能够看出tar包中多出一个更新后install.log文件。
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
-rw-r--r--root/root482172011-11-1122:16install.log
-rw-r--r--root/root482172011-11-1122:20install.log
/>tar--deleteinstall.log-ftest.tar#基于下面的了局,从紧缩包中删除install.log
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
/>rm-fusersusers2#从以后目次将tar中的两个文件删除
/>tar-xvftest.tar#解压
/>ls-lusers*#仅列出users和users2的具体列表信息
-rw-r--r--.1rootroot183Nov1108:02users
-rw-r--r--.1rootroot279Nov1108:45users2
#以gzip的格局紧缩并打包,解压时也应当以一样的格局解压,必要申明的是以该格局紧缩的包习气在扩大名后加.gz
/>tar-cvzftest.tar.gz*
/>tar-tzvftest.tar.gz#检察紧缩包中文件列表时也要加z选项(gzip格局)
-rw-r--r--root/root482172011-11-1122:50install.log
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
/>rm-fusersusers2install.log
/>tar-xzvftest.tar.gz#以gzip的格局解压
/>ls-l*.logusers*
-rw-r--r--root/root482172011-11-1122:50install.log
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
/>rm-ftest.*#删除以后目次下原本的紧缩包文件
#以bzip2的格局紧缩并打包,解压时也应当以一样的格局解压,必要申明的是以该格局紧缩的包习气在扩大名后加.bz2
/>tar-cvjftest.tar.bz2*
/>tar-tjvftest.tar.bz2#检察紧缩包中文件列表时也要加j选项(bzip2格局)
-rw-r--r--root/root482172011-11-1122:50install.log
-rw-r--r--root/root1832011-11-1108:02users
-rw-r--r--root/root2792011-11-1108:45users2
/>rm-f*.loguser*
/>tar-xjvftest.tar.bz2#以bzip2的格局解压
/>ls-l
-rw-r--r--.1rootroot48217Nov1122:50install.log
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
-rw-r--r--.1rootroot183Nov1108:02users
-rw-r--r--.1rootroot279Nov1108:45users2
十五.年夜文件拆分下令split:
上面的列表中给出了该下令最为经常使用的几个下令行选项:
选项形貌-l指定行数,每几分开成一个文件,缺省值为1000行。-b指定字节数,撑持的单元为:k和m-C与-b参数相似,但切割时只管保持每行的完全性-d天生文件的后缀为数字,假如不指定该选项,缺省为字母/>ls-l
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
/>split-b5ktest.tar.bz2#以每文件5k的巨细切割test.tar.bz2
/>ls-l#检察切割后的了局,缺省情形下拆分后的文件名为以下情势。
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
-rw-r--r--.1rootroot5120Nov1123:34xaa
-rw-r--r--.1rootroot5120Nov1123:34xab
-rw-r--r--.1rootroot290Nov1123:34xac
/>rm-fx*#删除拆分后的小文件
/>split-d-b5ktest.tar.bz2#-d选项今后缀为数字的情势定名拆分后的小文件
/>ls-l
-rw-r--r--.1rootroot10530Nov1123:08test.tar.bz2
-rw-r--r--.1rootroot5120Nov1123:36x00
-rw-r--r--.1rootroot5120Nov1123:36x01
-rw-r--r--.1rootroot290Nov1123:36x02
/>wcinstall.log-l#盘算该文件的行数
/>split-l300install.log#每300行拆分红一个小文件
/>ls-lx*
-rw-r--r--.1rootroot11184Nov1123:42xaa
-rw-r--r--.1rootroot10805Nov1123:42xab
-rw-r--r--.1rootroot12340Nov1123:42xac
-rw-r--r--.1rootroot11783Nov1123:42xad
-rw-r--r--.1rootroot2105Nov1123:42xae
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|