`

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命令实例大练习 在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用...

    Shell正则表达式之grep、sed、awk实操笔记

    ### Shell正则表达式之grep、sed、awk实操笔记 #### 一、概述 本文主要探讨了在Shell脚本编程中如何运用`grep`、`sed`与`awk`结合正则表达式来实现一些具体的需求。这些工具在文本处理方面极其强大,通过灵活运用...

    Sed与awk第二版(中文高清版)

    它不仅系统地介绍了sed和awk的使用方法,还通过实例演示了如何编写有效的脚本来处理文本数据。对于那些希望提高自己在Linux环境中处理文本和数据能力的用户来说,这本书是一个极佳的学习资源。 Sed的常用功能包括但...

    Linux文本处理命令:awk、sed、grep

    以上就是对“Linux文本处理命令:awk、sed、grep”的详细知识点解读。这些工具虽然功能各有侧重点,但都是处理Linux文本数据的强大武器。通过上述内容的学习,相信你已经对这三个命令有了深入的了解,并能够在实际...

    linux grep命令详解_linux_grep_

    Linux中的`grep`命令是文本处理工具中的重要一员,它...在实际工作中,结合其他命令如`find`、`sed`和`awk`,能实现更复杂的文本处理任务。希望这份`grep`命令详解能帮助初学者快速入门,并逐渐精通Linux文本处理技巧。

    grep awk sed调研文档

    ### Grep、Awk、Sed调研文档 #### 引言 `grep`(全局搜索正则表达式并打印出匹配的行)是一款强大的文本搜索工具,在Linux和Unix环境中广泛使用。它能够根据用户提供的正则表达式在指定的一个或多个文件中查找匹配...

    AWK编程实例指南.rar_AWK ns2_awk_awk unix.shell_awk编程实例

    "awk_unix.shell"标签表明AWK是作为UNIX Shell的一部分使用的,通常与其他shell命令如grep、sed等结合使用,形成强大的数据处理流程。在Shell脚本中,AWK可以用来处理复杂的数据操作,而无需编写完整的程序。 "awk...

    Linux重点命令(sed、awk、grep、tr等)详解教程大全.docx

    本文将深入探讨几个常用的命令,包括sed、awk、grep和tr,它们都是强大的文本处理工具,尤其在处理大量文本数据时非常有用。 首先,让我们聚焦于AWK命令。AWK是由Aho、Weinberger和Kernighan三位计算机科学家开发的...

    sed与awk(第二版)

    在Linux世界中,文本处理工具是日常操作的重要组成部分,尤其是sed和awk,它们与grep一起被誉为"三剑客"。本文将深入探讨这两个强大的命令行工具,解释它们的基本概念、功能以及如何在实际工作中有效利用。 sed...

    awk命令详解

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

    awk、sed和grep

    在IT领域,文本处理是日常工作中不可或缺的一部分,而awk、sed和grep是Linux/Unix环境中强大的文本处理工具,它们各自有着独特的功能和应用场景。这里,我们将深入探讨这三个工具及其使用方法。 首先,让我们来了解...

    Sed与awk第三版(高清版)

    7. **管道和重定向**:在Linux/Unix环境中,sed和awk常与其他命令通过管道(`|`)连接,将一个命令的输出作为另一个命令的输入。重定向(`>`、`>>`)则可以将输出保存到文件中。 8. **案例应用**:sed和awk在系统...

    Sed and Awk 101 Hacks

    本书《Sed and Awk 101 Hacks》面向希望提升自己在Unix/Linux系统操作能力的开发者、系统管理员、数据库管理员或IT管理员,旨在帮助读者快速掌握Sed和Awk的核心用法,并通过实例讲解如何将这些工具用于实际问题解决...

    Linux下grep、sed、gawk指令详解.docx

    在Linux操作系统中,grep、sed和gawk是三个非常强大的文本处理工具,它们在日志分析、文件查找、数据过滤等方面发挥着重要作用。下面将分别详细介绍这三个指令。 **grep** grep(Global Regular Expression Print...

    awk and sed 3

    8. **与其他工具结合使用**:可能提到了`awk`和`sed`如何与其他Unix/Linux命令行工具如`grep`、`sort`、`cut`等协同工作,增强文本处理能力。 9. **最新版本特性**:如果这份文档是关于最新版本的,那么可能会介绍...

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

    本文将深入介绍Shell的基础知识,以及三个强大的文本处理工具——grep、sed和awk。 一、什么是Shell Shell脚本大白话 Shell是一种特殊的程序,它接收用户输入的命令,解析这些命令并将其转化为操作系统可以理解的...

    awk,sed,grep总结.chm

    在“awk,sed,grep总结.chm”文件中,你将找到关于这三个工具的详细教程,包括各种命令、选项和正则表达式的实例,这将有助于你提升文本处理和数据挖掘的能力。学习和熟练应用这些工具,可以极大地提高你在处理文本...

    linux文本处理命令

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

    linux bash之 awk用法

    Awk的设计理念是为用户提供一种更为高级且灵活的数据处理方式,相比于早期的文本处理工具如sed和grep,它提供了更丰富的功能集和更复杂的编程能力。 #### Awk的重要性与应用场景 Awk之所以被广泛使用,主要基于...

Global site tag (gtag.js) - Google Analytics