搜索
❏ 站外平台:

数据流处理命令

作者: LinuxSQL

| 2014-04-17 13:20   收藏: 8 分享: 1    

3. sort:文本内容排序

语法:

sort [-bcdfimMnr] [-o<输出文件>] [-t<分隔字符>] [+<起始栏位>-<结束栏位>] [--help] [--verison] [文件]

参数:

-b    忽略每行前面开始出的空格字符。
-c    检查文件是否已经按照顺序排序。
-d    排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f    排序时,将小写字母视为大写字母。
-i    排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m    将几个排序好的文件进行合并。
-M    将前面3个字母依照月份的缩写进行排序。
-n    依照数值的大小排序。
-o<输出文件>    将排序后的结果存入指定的文件。
-r    以相反的顺序来排序。
-t<分隔字符>    指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位>    以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help    显示帮助。
--version    显示版本信息

4. uniq:

显示唯一的行,对于那些连续重复的行只显示一次,以及计数重复的行

uniq:不加任何参数表示匹配第一次出现的那行

uniq -c:显示重复的行的行数

uniq -u:仅显示文件中没有连续出现的行,唯一行

uniq -d:仅显示文件中连续重复出现的行。

5. cut:

片段撷取工具,可以从一个文本文件或者文本流中提取文本列

5.1 命令用法

cut -b list [-n] [file ...]        
cut -c list [file ...]
cut -f list [-d delim][-s][file ...]

-b、-c、-f分别表示字节、字符、字段(即byte、character、field);list表示-b,-c,-f操作范围,-n表示具体数字,with -b: don’t split multibyte characters;file表示的自然是要操作的文本文件的名称;delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;-s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)。

--output-delimiter=字符串,使用指定的字符串作为输出分界符,默认采用输入的分界符。上面三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。

LIST的范围:

N        只有第N项
N-        从第N项一直到行尾
N-M        从第N项到第M项(包括M)
-M        从一行的开始到第M项(包括M)
-        从一行的开始到结束的所有项

5.2 用法实例

撷取/etc/passwd文件中的前十五个用户名:

cut -f1 -d: /etc/passwd | head -15

撷取/etc/passwd文件每一行前十个字节的内容:

cut -b 1-10 /etc/passwd

撷取该文件每一行第1,4,7个字节的内容:

cut -b 1,4,7 /etc/passwd

将/etc/passwd的分隔符换成“|”输出:

cut -d: -f 1- -s --output-delimiter=”|” /etc/passwd

 

6. grep:

撷取具有特定信息的行,逐行操作。

用法:grep [-acinv] [--color=auto] '搜寻字符串' filename

-a :    将binary档案以text 档案的方式搜寻数据
-c:    计算找到'搜寻字符串'的次数
-i:    忽略大小写的不同,所以大小写视为相同
-n :    顺便输出行号
-v :    反向选择,亦即显示出没有'搜寻字符串'内容的那一行!
--color=auto:    可以将找到的关键词部分加上颜色的显示!

7. wc:

统计单词。

用法:wc [-lwmc]

-l :    仅列出行;    
-w :    仅列出多少字(英文单字); 
-m :    多少字符;
-c:    多少字节

不加任何参数表示全部列出。

实例:/etc/man.config 里面有多少相关字、行、字符数:

cat /etc/man.config | wc 

 


返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。