仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1880|回复: 8
打印 上一主题 下一主题

[shell编程] 带来一篇CentOS Shell经常使用技能 sort uniq tar split

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:18:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
活着的死人 该用户已被删除
沙发
发表于 2015-1-15 22:52:14 | 只看该作者

带来一篇CentOS Shell经常使用技能 sort uniq tar split

永中office2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
老尸 该用户已被删除
板凳
发表于 2015-1-20 20:52:03 | 只看该作者
另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。
飘灵儿 该用户已被删除
地板
发表于 2015-1-30 05:41:42 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 10:00:15 | 只看该作者
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
透明 该用户已被删除
6#
发表于 2015-2-15 23:50:39 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
莫相离 该用户已被删除
7#
发表于 2015-3-4 21:37:08 | 只看该作者
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
山那边是海 该用户已被删除
8#
发表于 2015-3-19 16:59:22 | 只看该作者
随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。
再见西城 该用户已被删除
9#
发表于 2015-3-30 01:00:01 | 只看该作者
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 17:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表