ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:32.67KB ,
资源ID:23390787      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23390787.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(文件的排序合并和分割.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

文件的排序合并和分割.docx

1、文件的排序合并和分割1)Sort命令Sort命令将输入文件看作油多条记录组成的数据流,而记录是由可变宽度的字段组成,以换行符作为定界符。Sort和awk一样,可将记录分成多个域进行处理,默认的域分隔符是空格。 Sort命令选项极其含义选项意义-c测是文件是否已经被排序-k制定排序的域-m合并两个以排序的文件-n根据数字大小进行排序-o输出文件将输出写到指定文件,相当于重定向-r将排序结果逆向显示-t改变域分隔符-u去除结果中的重复行#Sort -t:-k3nr cargo.db输出结果:Thinkpad:USA:14000:2009:X31HP:China:12000:2010:ne808Th

2、inkpad:HongKong:10000:2008:T40Acer:Taiwan:8000:2010:Pt210Ideapad:China:8000:2007:x60HP:China:5600:2010:x60-t: 表示输入文件(cargo.db)的域分隔符为“:”-k3表示按照第三个域进行排序,由于系统默认是将所有的数据看作是字符串的形式进行处理的,故如果不加-n参数的话,系统将按照域3将数字按照字符进行处理,即按第一个元素的升序进行排序,如果第一个元素相同则对第二个元素进行判断。-n表示按照数字大小进行排序,-r 表示按照默认的逆序进行输出。2)Sort和awk的联合使用#Cat pr

3、ofessor.db J Luo Southeast universityNanjing ,chinaY zhang Victory universityMelbourne,AustraliaD hou Beijing universityBeijing ,china B liu Shanghai jiaotong universityShanghai,chinaC lin University of Toronto Toronto,Canada用sort和awk实现文件块的排序#cat professor.db | awk -v RS=”nn” gsub(“n”,”);print | sor

4、t | awk -v ORS=”nn” gsub(“”,”n”) ;printCat命令所产生的数据的输出流为:J LuonSoutheast universitynNanjing ,chinannY zhangnVictory universitynMelbourne,AustraliannD hounBeijing universitynBeijing ,chinannB liunShanghai jiaotong universitynShanghai,chinannC linnUniversity of TorontonToronto,Canadan Cat命令将输出流数据通过管道符传

5、递给awk命令,第一个awk命令将cat的输出流当成自己的输入流数据进行处理,将“n”转化成“”,记录的分隔符“nn”,故第一个awk命令的作用就是将不同用户的数据块合并成一条数据记录,再讲这样的记录交给sort命令,sort命令将五条记录进行排序后再交给第二个awk命令,而第二个awk命令的作用则和第一个awk命令的作用正好相反,将五条记录转换成不同用户的书库块,在显示器收到经过处理的数据流后,将经过处理的数据流输出到屏幕上,这样就得到了用户想要的结果。3)uniq命令Uniq命令用于去除文件中重复的行,这类似于sort -u选项,但是两者有一定的区别:Sort -u是将记录按默认的规则排序

6、后在去除重复的行,这样输出的结果中所有的记录只会出现一次,但是uniq则仅仅只是去除了连续的重复记录,也就是说,当文件中有重复的记录,但是该重复的记录并没有连续出现,而是两条相同的记录之间还有其他的记录存在,这样uniq命令则不能去除这样的重复记录,但是sort -u可以。Uniq命令选项以及含义选项意义-c 打印每行在文本中重复出现的次数-d只显示重复的记录,每个重复记录只出现一次-u只显示没有重复的记录统计文件中各个单词出现的次数。Sed -e s/./g -e s/,/g -e s/:/g -e s/ /n/g input | sort | uniq -c | sort -nr该语句可以

7、完成统计input文件中各个单词重复出现的次数。Sed语句的作用是将文件中的所有用“,。:”符号连接成的单词拼接成一个单词,sort命令的作用则是将这些单词排序,是重复的单词连续的出现在一起,uniq命令的作用则是将这些单词中,每个单词重复出现的次数统计出来,最后一个uniq命令的作用则是将这些单词按照重复出现次数由大到小输出。4)join命令Join命令用于实现两个文件中记录的连接操作Join命令选项及其意义选项意义-a1或-a2分别表示左连接和右连接-i比较域内容时,忽略大小写-o设置结束显示的格式-t改变域分隔符-v1或v2分别表示显示左表中没有匹配的记录或者右表-1或-2用于显示左表或

8、者右表的连接域#join -t: -a1 TEACHER.DB TEACHER_HOBBY.DB (左连接)用左表作为驱动表连接右表,默认匹配域是以:为分隔符的第一个域。#join -t: -v1 TEACHER.DB TEACHER_HOBBY.DB显示驱动表(左表)中没有匹配上的记录,-v2表示显示匹配表(右表)中没有匹配上的记录。#join -t:-o1.1 2.2 1.2 TEACHER.DB TEACHER_HOBBY.DB按照指定的格式输出记录#join -t: -i -1 3 -2 1 TEACHER.DB TEACHER_HOBBY.DB指定匹配域为第一个表的域3和第二个表的域

9、1,-i表示匹配忽略大小写。 AJoin连接方式是首先是驱动表A,从中拿出一条记录1与匹配表B中的记录进行匹配,A1与B1匹配上则将两条记录进行连接,A2与B2匹配上后则在表B中做了记录,则下次匹配则从上次结束的地方开始进行匹配,则A3开始从第四条记录开始匹配,直到搜索到最后一条记录也没有找到匹配上,则下一条记录开始进行匹配,也就是说Linux中的join连接的方式是匹配表中的记录从上次匹配上的记录开始进行匹配,而不是每一次都从匹配表的第一条记录开始匹配,这样若两个表中的记录的顺序如果不同有可能连接的结果不同,这就是Linux中join连接和数据库中的连接的不同。5)cut命令Cut命令用于从

10、标准输入或者文本文件中按域或者行提取文本。Cut命令选项及其意义选项意义-c指定提取的字符数或者字符范围-f指定提取的域数或者域范围-d改变域分隔符-c#cut -c3 TEACHER.DB表示提取每条记录的第三个字符#cut -d: -f1,4 TEACHER.DB-d:域分隔符,表示提取第一个域和第四个域#cut -d:-f1-3 TEACHER.DB表示提取第一个域到第三个域之间的部分。6)paste 命令Paste命令用于将文本文件或者标准输出中的内容粘贴到新文件中,它可以将来自不同文件的数据粘贴到一起形成新的文件。Paste命令选项以及意义选项意义-d默认域分隔符是空格或者TAB键,

11、设置行的域分隔符-s将每个文件粘贴成一行-从标准输入中读取数据#paste file1 file2将file1中的内容作为每一行记录的第一个域,file2的内容作为第二个域,中间用TAB键作为分隔符。#paste -d:file1 file2用:作为每条记录的域分隔符。Sort,join和cut命令改变域分隔符都是为了按域读取文件内容,而paste命令则不同,改变域分隔符是用于设置输出文件的格式。#paste -d:-s file1 file2Paste不加-s选项时,将文本内容“竖着放”,加上-s选项后,将文本内容“横着放”。#ls | paste -d“:” - - - - - 将ls的输

12、出作为paste的输入,每5个域作为一条记录进行输出,域分隔符由-d选项指定。7)split命令Split命令用于将大文件切割成小文件,split命令可按照文件的行数,字节数切割文件,并能在输出的多个小文件中自动加上编号。Split命令选项及其意义选项意义-或-l次两选项等价,都指定切割成小文件的行数-b指定切割成小文件的字节数-C与-b选项类似,但是,切割时尽量维持每行的完整性#split -2 TEACHER.DB PEO.DB 切割后的小文件的名称,将文件TEACHER.DB按照每行两个记录进行切割,切割后的小文件名为PEO.DB+aazz(PEO.DBaa,PEO.DBab,PEO.D

13、Bac) 编号,split命令所切割生成的文件最多包含1000行记录。#split -b100 TEACHER.DB将文件TEACHER.DB按照每100字节进行切分,split 命令-b选项在切割文件的时候只考虑文件大小,并不考虑记录的完整性。#split -C100 TEACHER.DB 将文件TEACHER.DB按每100Bytes进行切分,但是切割时并不严格按照100Bytes的大小进行切割,而是在切割时尽量维持每行的完整性。8)tr命令tr命令实现字符转换功能,其功能类似于sed命令,但是,tr命令,比sed命令简单,也就是说,tr命令能实现的功能,sed命令都能实现。“输入文件”表

14、示将输入文件重定向到标准输入,实际上tr命令与sort,uniq,join等命令不同,他只能从标准输入读取数据,因此,tr命令要么将输入文件重定向到标准输入,要么从管道读入数据。tr命令选项及其意义选项意义-c选定字符串1中的字符的补集,反选字符串1中字符集-d删除字符集1中出现的所有字符-s删除所有重复出现的字符序列,值保留一个#tr -d A-Z file1.db删除文件file1.db中出现的所有大写字母,#tr -d “n”file.db删除文件file.db中的换行符。Tr命令支持的控制字符选项意义 八进制方式aCtrl+G 铃声007bCtrl+H 退格符010fCtrl+L 走行

15、换页014nCtrl+J 换行符012rCtrl+M 回车键015tCtrl+I Tab键011#tr -s “n” file.db将文件file.db中出现的连续的换行符进行压缩,使其只不能出现连续的换行符。#tr -s “012” file.db012是n的八进制表示形式。#tr -s “A-z”file.db将文件file.db中的所有的字母连续重复出现的进行压缩,是不连续的重复出现相同的字母。#tr “A-Z” “a-z” file.db将文件file.db中的所有的大写字母用小写字母进行替换。#tr -cs “A-z” “012*”file.db-c表示匹配所有的非字母,将所有的非字

16、母转换成换行符,-s表示压缩所有的连续出现的元素,故经-c处理的文件中连续重复出现的“012”进行压缩,使其只出现一个。故上面语句的作用是将文件field.db中的所有非字母的元素进行删除。9)tar命令Tar命令是Linux中的归档命令,通俗的讲,tar命令实现了Linux系统文件的压缩和解压,类似于Windows中的winRAR软件。Tar命令选项及其意义选项意义-c创建新的包-r为包添加新的文件-t列出包的内容-u更新包中的文件,包中无此文件,将该文件添加到包中-x解压该文件-f使用压缩文件或者设备,该选项通常是必选的-v详细报告tar处理文件的信息-z用gzip压缩和解压压缩文件,若加上此选项创建压缩包,那么解压时也许加上此选项。#tar -cf db.all *.db 将当前目录中所有匹配*.db的文件打包成db.all文件。#tar -tf db.all 查看db.all包中的内容。#tar -rf db.all log*为包db.all中添加匹配log* 的所有文件。tar -cf命令创建的包实际上是将多个文件放在一起,此文件并没有被压缩。Gzip命令是linux系统中常用的压缩工具,他可以对tar命令创建的包进行压缩。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1