`

linux之grep,sed,awk命令实例

阅读更多
文件:datafile
Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300
Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500
Igor Chevsky:385-375-8395:3567 Populus Place, Caldwell, NJ 23875:6/18/68:23400Norma Corder:397-857-2735:74 Pine Street, Dearborn, MI 23874:3/28/45:245700
Jennifer Cowan:548-834-2348:583 Laurel Ave., Kingsville, TX 83745:10/1/35:58900
Jon DeLoach:408-253-3122:123 Park St., San Jose, CA 04086:7/25/53:85100
Karen Evich:284-758-2857:23 Edgecliff Place, Lincoln, NB 92086:7/25/53:85100
Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200
Karen Evich:284-758-2867:23 Edgecliff Place, Lincoln, NB 92743:11/3/35:58200
Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900
Fred Fardbarkle:674-843-1385:20 Parak Lane, DeLuth, MN 23850:4/12/23:780900
Lori Gortz:327-832-5728:3465 Mirlo Street, Peabody, MA 34756:10/2/65:35200
Paco Gutierrez:835-365-1284:454 Easy Street, Decatur, IL 75732:2/28/53:123500
Ephram Hardy:293-259-5395:235 CarltonLane, Joliet, IL 73858:8/12/20:56700
James Ikeda:834-938-8376:23445 Aster Ave., Allentown, NJ 83745:12/1/38:45000
Barbara Kertz:385-573-8326:832 Ponce Drive, Gary, IN 83756:12/1/46:268500
Lesley Kirstin:408-456-1234:4 Harvard Square, Boston, MA 02133:4/22/62:52600
William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500
Sir Lancelot:837-835-8257:474 Camelot Boulevard, Bath, WY 28356:5/13/69:24500
Jesse Neal:408-233-8971:45 Rose Terrace, San Francisco, CA 92303:2/3/36:25000
Zippy Pinhead:834-823-8319:2356 Bizarro Ave., Farmount, IL 84357:1/1/67:89500
Arthur Putie:923-835-8745:23 Wimp Lane, Kensington, DL 38758:8/31/69:126000
Popeye Sailor:156-454-3322:945 Bluto Street, Anywhere, USA 29358:3/19/35:22350Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600
Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200
Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000
Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900


grep命令练习
1.显示所有包含San的行
2.显示所有以J开始的人名所在的行
3.显示所有以700结尾的行
4.显示所有不包括834的行
5.显示所有生日在December的行
6.显示所有电话号码的区号为498的行
7.显示所有这样的行:它包含一个大写字母,后跟四个小写字母,一个冒号,一个空格,和一
个大写字母
8.显示姓以K或k开头的行
9.显示工资为六位数的行,并在前面加行号
10.显示包括Lincoln或lincoln的行,并且grep对大小写不敏感.
sed命令练习
1.把Jon's的名字改成Jonathan.
2.删除头三行
3.显示5-10行
4.删除包含Lane的行.
5.显示所有生日在November-December之间的行
6.把三个星号(***)添加到也Fred开头的行
7.用JOSE HAS RETIRED取代包含Jose的行
8.把Popeye的生日改成11/14/46
9.删除所有空白行
10.写一个脚本,将:
.在第一行之前插入标题PERSONNEL FILE.
.删除以500结尾的工资
.显示文件内容,把姓和名颠倒
.在文件末尾添加THE END

文件:datafile


Mike Harrington:[510] 548-1278:250:100:175
Christian Dobbins:[408] 538-2358:155:90:201
Susan Dalsass:[206] 654-6279:250:60:50
Archie McNichol:[206] 548-1348:250:100:175
Jody Savage:[206] 548-1278:15:188:150
Guy Quigley:[916] 343-6410:250:100:175
Dan Savage:[406] 298-7744:450:300:275
Nancy McNeil:[206] 548-1278:250:80:75
John Goldenrod:[916] 348-4278:250:100:175
Chet Main:[510] 548-5258:50:95:135
Tom Savage:[408] 926-3456:250:168:200
Elizabeth Stachelin:[916] 440-1763:175:75:300

awk命令练习
上面的数据库中包含名字,电话号码和过去三个月里的捐款
1.显示所有电话号码
2.显示Dan的电话号码
3.显示Susan的名字和电话号码
4.显示所有以D开头的姓
5.显示所有以一个C或E开头的名
6.显示所有只有四个字符的名
7.显示所有区号为916的人名
8.显示Mike的捐款.显示每个值时都有以$开头.如$250$100$175
9.显示姓,其后跟一个逗号和名,如Jody,Savage
10.写一个awk的脚本,它的作用:
11.显示Savage的全名和电话号码
12.显示Chet的捐款
13.显示所有头一个月捐款$250的人名.
注:区号本来是圆括号表示的.





grep:
1.grep "San" datafile
2.grep '^J' datafile
3.grep '700$' datafile
4.grep -v "834" datafile
5.grep '\:12\/' datafile
6.grep '\:498\-' datafile #是不是作者写错了,好象没有这样的行
7.grep '[A-z][a-z]\{4\}\:[[:space:]][A-Z]' datafile #好象也没有这样的行,或者我的不对^_^
8. grep '[a-z]\{1,\}[[:space:]][Kk]' datafile
9.grep -n '[0-9]\{6,\}$' datafile
10.grep -i "lincoln" datafile

grep [lL]incoln datefile



sed
1.sed 's/Jon/Jonathan/g' datafile
2.sed '1,3d' datafile
3.sed -n '5,10p' datafile
4.sed  '/Lane/d' datafile
5.sed -n '\:1[12]\/p' datafile #有这样写的:sed -n '/[:::]1[1-2][:/:]/p' datafile. 不知对不对,谁能给讲下,谢谢
6.sed -e 's/^Fred/***Fred/' datafile
7. sed -e 's/.*Jose.*/JOSE HAS RETIRE/g' datafile
8.sed -n '/^Popeye/p' datafile  |sed 's/[0-9]\{1,\}\/[0-9]\{1,\}\/[0-9]\{1,\}/11\/14\/46/'
9.sed '/^$/d' datafile


awk:
1.awk -F : '{print $2'} datafile
2.awk -F: '/^Dan/{print $2}' datafile
3.awk -F: '/^Susan/{print $1 ,$2}' datafile
4.awk -F: '{print $1}' datafile |awk '{print $2}' |awk '/^D/'
5.awk -F: '{print $1}' datafile |awk '{print $1}' |awk '/^[CE]/'
6.awk -F: '{print $1}' datafile |awk '{if(length($1) == 4)print $1}'
7.awk -F: '/\[916\]/{print $1}' datafile
8.awk -F: '/^Mike/{print "$"$3"$"$4"$"$5}' datafile
9.awk -F: '{print $1}' datafile|awk '{print $2,",",$1}'
#!/bin/awk -f
BEGIN{
FS=":"}
{if($1 ~/ Savage/) print $1":"$2}
{if($1 ~/^Chet /) print "$"$3":$"$4":$"$5}
{if($3 == 250) print $1}#
本文转载自『北漂石头的博客』
http://www.niutian365.com/blog/
更多精彩内容,欢迎访问北漂石头的博客!
分享到:
评论

相关推荐

    grep,sed,awk命令实例大练习

    grep,sed,awk命令实例大练习,好东西大家分享

    使用sed grep工具过滤实例

    在处理庞大数据量时,善用Linux三剑客sed grep awk能省下不少劲。文档例子仅供参考学习!

    shell最全基础2020年入门—从熟悉grep、sed、awk开始

    grep使用实例四、文本处理三剑客 — 流编辑器sed1. 什么是sed2. sed命令常用参数3. sed使用实例五、文本处理三剑客 — 文本分析工具awk1. 什么是awk2. awk的用法:3. awk中字符的含义:4. awk使用实例六、作者有话...

    linux文本处理命令

    文本处理命令,包括find,xargs,grep,sed,awk命令的详解及实例分析。

    一天一个shell命令 linux文本内容操作系列-awk命令详解

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk...

    shell脚本之正则表达式、grep、sed、awk

    –正则– 基础正则 ^word ##搜索以word开头的 vi/vim中 ^ 一行的开头 word$ ##搜索以word结尾的 vi/vim中 $ 一行的结尾 ^$ ##表示空行 ....\ ##例:\....\n ##换行符 \r ##匹配回车 \w ##匹配任意一个字符和数字 ...

    UNIX Handbook

    三.grep 命令 11 四.sed 11 五.awk命令 11 六.find命令 12 七.test命令 12 八.expr命令 13 九.流程控制语法 13 1 if then elif else fi语句 13 4 for语句 15 6 while语句 16 7 until 语句 17 8 break及...

    跟老男孩学linux三剑客

    三剑客命令详解,高清pdf扫描版。awk,grep,sed命令用法详解,包含多种实例,你值得拥有。

    Linux中awk的使用方法详解

    在学习awk之前我们应该都学过sed,grep,tr,cut等等命令,这些命令都是为了方便我们对Linux下文本和数据的处理,但是我们会发现很多时候这些命令并不能一下子就完全解决我们的需求,很多时候我们都需要使用管道符结合...

    linux文件权限管理、管道、三剑客 ppt

    1、linux文件权限说明、更改权限的两种方法。 2、linux管道原理及使用方法。 3、linux三剑客,正则表达式的使用方法,grep、sed、awk的指令格式、参数、使用方法及实例。

    LINUX与UNIX SHELL编程指南(很全)

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    Linux与unix shell编程指南

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    Linux shell编程指南

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    绝版经典《Linux与UNIX Shell编程指南》

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

    linux与unix shell编程指南.rar

    linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...

    LINUX与UNIX_Shell编程指南

    详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...

    UNIX Shell 实例精解 第二版

    第一本覆盖了所有三种UNIX shell加awk、sed和grep的书

    LINUX与UNIX SHELL编程指南

    10.6 将sed结果写入文件命令 97 10.7 从文件中读文本 98 10.8 匹配后退出 98 10.9 显示文件中的控制字符 99 10.10 使用系统sed 99 10.10.1 处理控制字符 99 10.10.2 处理报文输出 101 10.10.3 去除行首数字 101 ...

Global site tag (gtag.js) - Google Analytics