找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 技术 查看内容

数据流处理命令

2014-04-17 13:20    评论: 11 收藏: 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 

 

123
查看其它分页:

最新评论

我也要发表评论

绿色圣光 2014-04-17 13:26 回复
都是常用的命令,不过我一直没能好好学习awk的用法,uniq没用过,其他的用的比较多。
无名的城堡 2014-04-17 14:35  新浪微博网友评论 回复
nuance小窝 2014-04-17 14:35  新浪微博网友评论 回复
Repost
冷面邪恶书生 2014-04-17 15:11  新浪微博网友评论 回复
回复@绿色圣光:uniq 都是结合管道处理日志重复行
绿色圣光 2014-04-17 15:58  新浪微博网友评论 回复
回复@冷面邪恶书生:这样啊,学习一下,以后难免会用到。
拿AK47的耶稣 2014-04-17 17:01  新浪微博网友评论 回复
這个有用
游客 2014-04-17 23:43 回复
赞一下awk
游客 2015-03-02 11:57 回复
真心觉得不错!!
sofuc.com 2015-03-11 06:18 回复
踩一脚。。。
contra_mundi 2015-08-01 16:33 回复
$sed 's/This is my \([^,]*\),.*is \(.*\)/\1:\2/g' pets.txt
     This is my cat
    my cat's name is betty
    This is my dog
    my dog's name is frank
    This is my fish
    my fish's name is george
    This is my goat
    my goat's name is adam

不知道我哪里错了,得不到下面的结果
cat:betty
dog:frank
fish:george
goat:adam
a172525630 2015-08-06 15:52 回复
不错哦!

收藏

返回顶部

分享到微信

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