转载http://hi.baidu.com/%C3%CE%C0%EF%CF%E3%B0%CD%C0%AD/blog/item/caf21ba89c54ada1ca130c4a.html
一、sort
Usage: sort [OPTION]... [FILE]...
-o 输出文件
-d 按字典顺序排序
-n 按数据大小输出
-r 按逆序输出排序结果
-k 指定分类是域上的数字分类
-t 域分隔符,用非空格或tab分隔域
sort -k3 -n -r -t: /etc/passwd
sort -d /etc/passwd
二、WC
Usage: wc [OPTION]... [FILE]...
-c 字符数量~
-l 行数~
-w 统计单词数量~
wc /etc/passwd
36 65 1739 /etc/passwd #36行,65个单词(空格区分),1739个字符
三、diff
diff
Usage: diff [OPTION]... FILES
Compare files line by line.
-q 显示有无差异,不显示详细的信息~
-c 显示全部内文,并标出不同之处~
-b 不检查空格字符的不同~
-B 不检查空白行
-r 比较子目录中的文件~
diff /etc/passwd ./passwd.bak
2d1
< bin:x:1:1:bin:/bin:/sbin/nologin
四、grep
Usage: grep [OPTION]... PATTERN [FILE] ...
Search for PATTERN in each FILE or standard input.
-c 只打印匹配的行编号数
-i 匹配文本时忽略大小写
-n 在每行前显示其行编号
-v 逆向输出,打印不匹配的行
-f file 要匹配的字符在文件列表中
cat /etc/passwd |grep -n root
1:root:x:0:0:root:/root:/bin/bash
12:operator:x:11:0:operator:/root:/sbin/nologin
#grep '[Tt]his' file.txt
#grep '^[^#]' file.txt
匹配任意字符
grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
五、sed
sed
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...
S 替代操作
i 插入命令
a 附加命令
d 删除全部匹配行
D 删除首次匹配的行
#sed -n '1,4p' /etc/passwd 打印1~4行,-n --quiet以免先打印出passwd的全部内容
#sed '/80/D' file.txt
#sed 's/var/usr/g' file.txt 替换file.txt中全部var为usr
#sed '50,$s/help/man/g' file.txt 从50~最后行替换help为man
sed '/done/d' xj_user_p.log 删除done
六、awk
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
gawk '{ sum += $1 }; END { print sum }' file
gawk -F: '{ print $1 }' /etc/passwd
NF 当前记录中的字段数。NR 当前记录数。
awk -F: '{print NR,$1,$NF}' ./passwd.bak
awk -F: 'NR%10==5{print NR,$0}' ./passwd.bak 打印出5,15,25...行
5 sync:x:5:0:sync:/sbin:/bin/sync
15 nobody:x:99:99:Nobody:/:/sbin/nologin
25 apache:x:48:48:Apache:/var/www:/sbin/nologin
综合示例:
...
数据处理:
找出上海股票涨幅最大的股票?
sort -n -r -k4 t.txt | sed -n '1p'
涨幅>3的股票?
awk '{if ($1>3) print $0} ' t.txt
涨幅在在4~15之间的股票
awk '{if($4>0&&$4<15){print $0}}' t.txt
分享到:
相关推荐
linux grep sed awk命令的综合运用以及详解
sed awk grep sed awk grepsed awk grep sed awk grep sed awk grep sed awk grep sed awk grep sed awk grep sed awk grep
linux的强大的文本处理工具grep,sed,awk(文本处理三剑客)
grep、sed、awk、perl等对正则表达式的支持的差别,大牛总结的,适合高手参考用。
Linux三剑客awk sed grep全攻略
windows下的grep、sed、awk
主要减少linux系统中的查询三剑客grep,awk,sed的使用方法和详解,适合linux初学进行学习,适合在日常对于文本内容或者命令执行结果的搜索,可以完善和简便自己的工作内容和完善对于shell脚本的使用。
awk、sed、grep是linux的三剑客,在文本处理的场景中,掌握这三个命令真的是很有用
grep和正则表达式 什么是正则表达式: 正则表达式用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分隔、匹配、查找及替换操作 元字符 * 重复匹配前一个字符0到多次 . 匹配除了换行符外...
grep,sed,awk命令实例大练习,好东西大家分享
Bash Shell提供了功能强大的文件处理工具:sed(流编辑器stream editor)和awk,都可使用正则表达式进行模式匹配。而grep又有助于理解sed和awk。
主要介绍了Shell正则表达式之grep、sed、awk实操笔记,本文使用grep、sed、awk配合正则达到了一些需求和目的,需要的朋友可以参考下
sed awk grep命令使用 sed awk grep命令使用 sed awk grep命令使用
一、grep和正则表达式 1、正则表达式 以一串字符作为表达式向系统传达意思(过滤匹配数据),元字符是描述字符的字符,正则表达式是有一串字符和元字符构成的字符串,主要功能为文本查询和字符串操作,匹配文本 大...
awk本身就是UNIX/Linux的一种编程语言,用于处理数据和生成报告。 awk逐行方式扫描文件(或输入),以查找匹配某个特定模式的文本行,并对这些文本行执行指定动作。 awk是三个创始人的首字母,代表三个作者:Alfred ...
常用linux命令在windows环境下使用 windows grep awk sed cat
想学好sed和awk吗, 被别人复杂的sed和awk神奇和高效惊叹了吗,想知道其中的原因吗, 这里我搜集了讲解sed和awk全面的资料,让你自如的完成想要的操作,字符串的操作没有你办不到
本书在一开始就给出了一个概述和指南,论述了从grep到sed再到awk不断改进的功能。sed和awk具有相同的命令行语法,以脚本的形式接收用户的命令。因为所有这三个程序都使用UNIX正则表达式,因此书中用一章的篇幅来介绍...
Linux重点命令(sed、awk、grep、tr等)详解教程大全
Linux教程-linux-文本处理-grep.docx