#cat lab3.data
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
上面的数据库中包含名字,电话号码和过去三个月里的捐款
1.显示所有电话号码
2.显示Dan的电话号码
3.显示Susan的名字和电话号码
4.显示所有以D开头的姓
5.显示所有以一个C或E开头的名
6.显示所有只有四个字符的名
7.显示所有区号为916的人名
8.显示Mike的捐款.显示每个值时都有以$开头.如$250$100$175
9.显示姓,其后跟一个逗号和名,如Jody,Savage
10.写一个awk的脚本,它的作用:
.显示Savage的全名和电话号码
.显示Chet的捐款
.显示所有头一个月捐款$250的人名.
1.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '{print $2}' lab3.data
(510) 548-1278
(408) 538-2358
(206) 654-6279
(206) 548-1348
(206) 548-1278
(916) 343-6410
(406) 298-7744
(206) 548-1278
(916) 348-4278
(510) 548-5258
(408) 926-3456
(916) 440-1763
2.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '/Dan/{print $2}' lab3.data
(406) 298-7744
3.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '/Susan/{print $1}' lab3.data
Susan Dalsass
4.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F '[ :]' '$2 ~ /^D/{print $2}' lab3.data
Dobbins
Dalsass
5.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '/^[CE]/{print $1}' lab3.data
Christian Dobbins
Chet Main
Elizabeth Stachelin
6.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '/[A-Z][a-z][a-z][a-z] /{print $1}' lab3.data
Mike Harrington
Jody Savage
John Goldenrod
Chet Main
7.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '$2 ~ /(916)/{print $1}' lab3.data
Guy Quigley
John Goldenrod
Elizabeth Stachelin
8.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F: '$1 ~ /Mike/{print "$"$3,"$"$4,"$"$5}' lab3.data
$250 $100 $175
9.em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -F '[ :]' '{print $1","$2}' lab3.data
Mike,Harrington
Christian,Dobbins
Susan,Dalsass
Archie,McNichol
Jody,Savage
Guy,Quigley
Dan,Savage
Nancy,McNeil
John,Goldenrod
Chet,Main
Tom,Savage
Elizabeth,Stachelin
10. em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ cat facts
/Savage/{sav[$0]=$1" "$2}
/Chet/{che[$0]=$1" "$3" "$4" "$5}
$3==250{s250[$0]=$1}
END{
for (a in sav)print sav[a]
for (a in che) print che[a]
for (a in s250) print s250[a]
}
em@em-laptop:~/Desktop/unix/chap06/Ex_6.001-6.054$ awk -f facts -F: lab3.data
Tom Savage (408) 926-3456
Jody Savage (206) 548-1278
Dan Savage (406) 298-7744
Chet Main 50 95 135
Archie McNichol
Nancy McNeil
Mike Harrington
Tom Savage
Guy Quigley
John Goldenrod
Susan Dalsass
分享到:
相关推荐
### grep、sed、awk命令实例大练习 在Linux或Unix环境中,`grep`、`sed`和`awk`是三个非常强大的文本处理工具。通过掌握这些工具的基本用法及高级功能,用户可以高效地处理各种文本文件。下面将详细介绍如何使用...
### awk & sed 高级练习题解析 #### sed 命令详解 1. **删除一个文件的每行中的第1个字符** ```shell sed 's/^.//g' /etc/passwd ``` - **解析**:`s/^.//g` 表示将每行开头(`^`)的第一个字符(`.`)替换为...
-rwxr-xr-x@ 1 sanpangdan staff 489926 11 13 2022 awk实战案例精讲.pdf drwxr-xr-x@ 5 sanpangdan staff 160 11 13 2022 awk实战案例精讲:课程所用示例文件 -rwxr-xr-x@ 1 sanpangdan staff 236384 11 13 2022 ...
最后,书中提供了大量示例和实战练习,帮助读者巩固理论知识并提高实际操作能力。通过阅读和实践,读者不仅能掌握awk的基本用法,还能掌握如何利用awk解决实际问题,实现高效的文本处理和数据分析。 总之,...
在这个压缩包里,我们看到一系列的示例文件,如`Ex_6.001-6.054`到`Ex_6.193`,这些很可能是`awk`编程的练习或教程。每个文件可能代表一个特定的练习,涵盖了`awk`的不同功能和用法,例如模式匹配、条件语句、循环、...
Linux实战awk详解主要聚焦在如何利用awk这一强大的命令行工具处理文本流问题。Awk是Linux/unix系统中用于处理结构化文本数据的强大工具,它能够...通过实际操作和不断练习,awk将成为你Linux运维和数据分析的得力助手。
**awk入门最好的资料** 在IT领域,awk是一个...通过阅读和练习这个文档中的内容,你将能够掌握awk的基础知识,为进一步学习高级特性和应用打下坚实基础。记得不断实践,让理论与实战相结合,才能真正成为awk的大师。
通过实际的案例练习,可以更好地掌握这两个工具的使用。 这本书的第三版可能增加了更多实用技巧和最新的功能介绍,对于想要提升Linux运维技能的人来说是一份宝贵的资源。同时,书中可能涵盖了sed和awk在实际工作中...
本资料包中的"awkѧϰ"和"awk学习"文件可能包含实战案例、练习题及解释,是学习awk的好资源。建议结合这些实例逐步实践,加深对awk的理解,提升文本处理技能。不过,请注意,如果资料存在质量问题,可以考虑寻找更新...
读者在学习Sed和awk的过程中,应当合法合规地进行练习,确保不侵犯他人的知识产权。同时,读者还应具备一定的自我保护意识,对于书籍来源、内容的合法性应当进行适当的甄别和判断。在使用书籍中的知识进行技术操作时...
1. **基本语法**:awk的工作原理基于行处理,每一行被视为一个记录,每个记录可以被分隔成字段。默认的字段分隔符是空格或制表符。例如,`awk '{print $1}'`将打印文件中的第一列。 2. **模式匹配**:awk中的模式...
- 示例:`awk '{print $1}' file` 用于打印文件每一行的第一个字段。 - **常用命令**: - **打印字段**:`print` - 例如,打印每一行的第一个字段:`awk '{print $1}' list` - **条件判断**:使用`if`语句 - ...
### AWK手册精要解析 #### 一、AWK简介 ...通过了解其基本概念和工作原理,结合实际操作练习,可以快速掌握AWK的核心技能,并将其应用于各种场景中。希望这篇指南能帮助你在AWK的学习之旅上更进一步。
例如,`awk '/pattern/{print $1}' filename`会打印出所有包含模式"pattern"的行的第一列。awk中的 `$1`、`$2` 等表示字段,可以根据分隔符(默认为空格)自动划分。 在本资料全集中,你将学习到: 1. **基本语法*...
资料包中的源代码文件包括TUTOR1.PRJ到TUTOR5.PRJ,它们很可能是AWK的教程示例,逐步引导用户了解和掌握AWK的基本用法和高级技巧。每个.TPRJ文件可能包含了具体的程序代码和解释,通过实际操作来教授如何使用AWK处理...
AWK是一种编程语言,用于在Linux环境下对文本和数据进行处理和分析。它是许多UNIX系统中的标准工具,并且是文本处理的强大...通过适当的练习和实践,用户可以掌握AWK的各种高级功能,实现自动化处理日常数据的需求。
在提供的`awk programming.rar`文件中,可能包含了关于awk编程的教程、示例和练习,可以帮助你深入理解和掌握awk的使用技巧。 总结来说,`awk`和`bash`是Linux/Unix环境下强大的文本处理和脚本编程工具,它们的结合...
**awk 知识点详解** `awk` 是一个强大的文本分析工具,广泛应用于Linux和Unix环境中,用于处理和...`awk.cheat.sheet.pdf`这份速查表是快速理解和应用`awk`的强大工具,建议初学者多加练习,提升对`awk`的掌握程度。