shell学习笔记5
时间:2009-02-27 来源:gezn
第11章 合并与分隔
1. Sort用于文本文件数据内容排序
1) usage: sort [sort options] [input_file…]
2) sort命令的操作可以分成3种模式:排序模式:对输入文件进行排序,是默认的模式;合并模式:对两个已排序的文件进行合并。需要指定”-m”选项;检查模式:测试给定的输入文件是否已排序。需要指定”-c”选项eg:sort –c video.txt //如果vide.txt已排序,则无任何显示。如果为排序,则会给出提示。
3) sort有许多不同的选项,这些选项基本可以分为三类
sort 的操作模式选项:就是用于指定sort工作模式的选项,只有-c –m两个;
sort的数据排序选项:这些选项将影响输出行的排列顺序,可以是针对整个或特殊键值字段设定的;
sort的字段设定与输出选项:与输出和字段有关的选项;
5 unip
1)uiq用来从一个文本文件中去除或禁止重复行。一般uniq假定输入文件已分类。但uniq并不强制要求如此,也可以使用过任何非排序文本,甚至是无规律行。
2)unip不同与sort的-u选项。Uniq认为持续不断重复出现的行(中间不包括其他文本)才是重复行
3)uniq Usage:uniq[options][input_file [output_flie]]
1. join 使用共同的字段连接文件
1) join Usage:join[options] file1 file2
2) join程序主要用来连接两个文件的数据行,join在执行时会在输入文件中寻找具有相同jion字段的输入行,并把连接的结果输出到标准输出。
3) jion的连个输入文件都应该已经对要join的字段作了递增排序,否则执行结果将会错误。
4) join默认使用每个输入文件文件行的第一个字段为join字段。输出行的字段间一个空格隔开,每个输出行上包括join字段、file
5) 1内其余字段以及file2内的其余字段。
8.cut打印行中被选取的部分
Cut [options] input_files
2. paste
paste: [options] [file1 file2]
paste 将两个输入文件的每一行连接成一个新行并输出。File1的行内容位于file2之前。
缺省情况下,paste连接时,用空格或tab键分隔新航中不同文本,除非指定”-d”选项。
10 split将文件分段
Split用来将大文件分割成小文件。有时文件越来越大,出送给这些文件时,首先将其分隔可能更容易。
第十二章tr用法
1. Tr转换或者删除字符
1) tr主要用来从标准输入中通过替换或删除操作进行字符转换,然后打印输出到标准输出。可以通过管道或着重定向标准输入来获得tr的输入数据。
2) tr贵输入数据可以进行三种操作: 字符替换、压缩重复字符和删除字符。
3) tr Usage:tr[OPTION] String1 [String2]
4) tr有4个常用选项(c d s t)
2. 在tr中string1和string2用来只指示一个字符集合范围。可以是下面的一些形式(一般要加双引号)
1)[a-d]: 表示abcd,常用的[a-z][A-Z][0-9]等,[bfgh]表示bfgh。可以加上单或双引号
2)[C*n]:表示字符C重复出现指定次数n。因此,[F*3]表示FFF。一般只能出现在string2中。
3)\nnn: 三位八进制数,对应有效的ASCII字符。一般用于表示特定的控制字符。
4)[:class_name:]:tr支持用内建的字符类别。常见:
[:alnum:] 字母、数字(0-9,a-z,A-Z)
[:alpha:] 字母、(a-z,A-Z)
[:cntrl] 控制字符
[:digital:] 数字(0-9)
[:gragh:] 可打印的字符,不包括空格
[:lower:] 小写字母
……
3. 选项-c:表示在输入数据中出现,但是不抱在string1字符范围内的字符组成的集合,代替原理啊的string1。在tr的三类操作中高都可使用选项“-c”。
4. tr用于字符替换:只需要同时给出string1和string2,可以需要不指定特别的选项。
Usage:tr string1 string2
5. tr用于删除字符时,用“-d”
6. 在tr的替换操作中如过string1用了[],string2也要用[]
7. 其实tr的大多数功能可以用sed完成,但是有人尝试用tr更快更方便一些。