测试环境:
[gan@localhost tmp]$
uname -aLinux localhost.localdomain 2.6.25.4-10.fc8 #1 SMP Thu May 22 23:34:09 EDT 2008 i686 i686 i386 GNU/Linux
http://gan.cublog.cn[gan@localhost tmp]$
awk -W versionGNU Awk 3.1.5
......
1>. 简单字符转换输出
[gan@localhost tmp]$ cat file.txt
LINE1 Date
LINE2 abc
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((
http://gan.cublog.cn输出整个文件:
[gan@localhost tmp]$
awk '{ print $0 }' file.txtLINE1 Date
LINE2 abc
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((
[gan@localhost tmp]$
awk '{ print }' file.txtLINE1 Date
LINE2 abc
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((
输出文件的一部分:
[gan@localhost tmp]$ a
wk '{ print $1}' file.txtLINE1LINE2
LINE3
LINE4
LINE5
LINE6
[gan@localhost tmp]$
awk '{ print $2 }' file.txtDate
abc
7823
s0df
8&32*
~!@#$%^*((
增加部分内容输出:
[gan@localhost tmp]$
awk '{ print "header " $1 "\t" $2 }' file.txtheader LINE1 Date
header LINE2 abc
header LINE3 7823
header LINE4 s0df
header LINE5 8&32*
header LINE6 ~!@#$%^*((
http://gan.cublog.cn使用指定的分隔符号来取数据:
[gan@localhost tmp]$ cat dfile.txt
header :LINE1 :Date
header :LINE2 :abc
header :LINE3 :7823
header :LINE4 :s0df
header :LINE5 :8&32*
header :LINE6 :~!@#$%^*((
[gan@localhost tmp]$
awk -F":" '{ print $1 }' dfile.txtheader
header
header
header
header
header
[gan@localhost tmp]$
awk -F":" '{ print $2 }' dfile.txtLINE1
LINE2
LINE3
LINE4
LINE5
LINE6
[gan@localhost tmp]$
awk -F":" '{ print $2 " " $1 }' dfile.txtLINE1 header
LINE2 header
LINE3 header
LINE4 header
LINE5 header
LINE6 header
输出包含(不包含)特定字符的行(sed也可以完成该功能):
[gan@localhost tmp]$
awk '/[a-c]/ { print }' file.txtLINE1 Date
LINE2 abc
[gan@localhost tmp]$
awk '!/[a-c]/ { print }' file.txtLINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((
采用判断来输出特定的列数据:
[gan@localhost tmp]$
awk '$1 == "LINE2" { print $2 }' file.txtabc
http://gan.cublog.cn部分包含,不包含指定的字符:
[gan@localhost tmp]$
awk '$2 ~ /[a-d]/ { print }' file.txtLINE1 Date
LINE2 abc
LINE4 s0df
[gan@localhost tmp]$
awk '$2 !~ /[a-d]/ { print }' file.txtLINE3 7823
LINE5 8&32*
LINE6 ~!@#$%^*((
学习:
http://www.ibm.com/developerworks/cn/linux/shell/awk/awk-1/
下一步重点学习(正恻表达式就稍微复习一下就可以,自己已经比较熟悉了):
1>. 使用awk作文本处理的数值计算(awk的运算符)
1>. 在awk中使用脚本,多行复杂的awk书写(变量定义,if使用,循环和数组的使用,系统函数的使用,,awk内部的环境变量)
2>. 在不同平台awk的区别,怎么写出通用的awk(Linux,AIX, HPUX, SunOS)
----------------
添加点东西:
输出'符号,从CU上看到的:http://bbs.chinaunix.net/viewthread.php?tid=15773&extra=&page=2
[gan@localhost log]$ awk 'BEGIN {print "'\''"}'
'
|
----------------
分享到:
相关推荐
awk语句`awk '{code}1'`中的`1`是默认模式,相当于没有指定任何模式,其动作默认为`print`,所以`awk '1'`等价于`awk '{print}'`,即打印每一行。 awk的工作流程如下: 1. 执行`BEGIN`代码块中的命令。 2. 从标准...
以下是对标题和描述中提及的AWK学习知识点的详细阐述: 1. **AWK的定义**: AWK是由Aho、Weinberger和Kernighan三位开发者命名的样式扫描和处理语言,主要用于从文本文件中提取数据或对数据进行格式化输出。它的...
通过本文对awk使用大全的深入探讨,我们不仅了解了awk的基本语法和功能,还学习了如何利用awk进行高效的数据处理。无论是对于初学者还是有经验的用户,掌握awk都将极大地提升在Linux环境下的文本分析和处理能力。
学习Sed和Awk可以显著提升UNIX和Linux操作效率,对于开发者、系统管理员、数据库管理员或IT管理员来说是非常重要的技能。掌握这些工具,意味着能够快速地进行文本处理、数据提取和报告生成,解决很多日常工作中遇到...
`awk` 是一种强大的文本分析工具,常用于处理和解析结构化的文本文件,如日志文件、配置文件等。在Linux和Unix系统中,`awk` ...通过不断地实践和学习,你将能够有效地利用 `awk` 解决日常工作中遇到的文本处理问题。
- **《每天学习一个命令:awk 处理文本》**:这本书可能包含了awk的基础操作和实例,适合初学者入门。 - **《awk 入门教程_阮一峰的网络日志》**:阮一峰老师的教程通常深入浅出,易于理解,适合快速了解awk的基本...
- `'{ print $0 }'` 是AWK的典型用法,它会打印输入的整行。 - 分隔符:默认情况下,AWK使用空格或制表符作为字段分隔符,但可以通过`FS`变量自定义,如`'{FS=":"}'`设置为冒号。 - 输出分隔符:`OFS`变量可以...
在 AWK 中,可以使用 `print` 或 `printf` 命令来输出文本。`print` 默认在每个记录后面添加一个换行符,而 `printf` 允许更精确的格式化输出,比如控制字段宽度和对齐。`print $1, $2` 会打印第一和第二个字段,而 ...
- **启动AWK**:通过命令行启动AWK,例如`awk '{print}' /etc/passwd`。这条命令会打印出`/etc/passwd`文件的所有内容。 - **代码块与命令**:在AWK中,花括号`{}`用于定义代码块。当代码块内仅包含一条命令时,...
《sed and awk 101 hacks》是一份关于学习和提升sed和awk使用技巧的文档。文档主要涵盖了sed命令的基础使用、高级技巧以及如何与awk结合使用的方法。本文将详细解读文档中的知识点,以便为读者提供一个全面的参考。 ...
现在,我们通过几个示例来学习awk `print`的使用: **示例1**:默认行为 ```bash awk '{print;}' employee.txt ``` 这个例子中没有指定模式,所以awk会打印`employee.txt`文件的每一行。 **示例2**:基于模式的...
awk '{ sum += $3 } END { print sum }' processes 9. 输出/输入重定向 使用 awk 输出/输入重定向来处理数据: awk '{ print }' processes > output 这些实例只是 awk 的一些基本应用,awk 的功能远远不止这些。...
通过对上述示例的学习,我们可以看到 AWK 不仅是一个简单的文本处理工具,更是一个功能强大的编程语言。它能够简化文本处理的任务,并且提供了灵活的方式来处理和操作文本数据。无论是对于新手还是经验丰富的程序员...
awk 是一个强大的文本分析工具,常用于处理结构化数据,如CSV、日志文件等。在Linux和Unix环境中,awk命令被广泛使用。本篇文章将详细介绍awk命令的使用...学习和熟练掌握awk命令,可以极大地提高处理文本数据的效率。
《awk脚本指南》 在IT领域,awk是一种强大的文本分析工具,尤其在处理日志文件、数据分析等方面表现卓越。...通过学习本指南,读者将能够熟练运用awk进行数据提取、过滤、转换等任务,提升在数据分析领域的技能。
- **打印特定内容**:例如 `awk '{print "hiya"}' filename` 将会在文件的每一行后打印 "hiya"。 #### 字段处理 - **字段分隔符设置**:通过 `-F` 参数设置字段分隔符。例如 `awk -F ":" '{print $1}' filename` ...
如果想同时打印用户名和用户标识(uid),可以写成 `awk -F":" '{ print $1 $3 }' /etc/passwd`,但由于默认不会自动插入空格,所以我们需要手动添加,如 `awk -F":" '{ print $1 " " $3 }' /etc/passwd`。...
- **在线文档**: GNU Awk官方手册和相关的在线资源可以作为学习参考。 以上知识点涵盖了Awk的基础概念、程序结构、字段和记录的处理方法、格式化输出的技巧,以及Awk命令在实际中的应用。通过深入学习和实践这些...
通过以上知识点的学习,我们可以了解到 AWK 是一种功能强大且灵活的工具,不仅能够处理简单的文本输出任务,还能应对复杂的模式匹配和数据处理需求。随着对 AWK 的深入了解,我们可以更加高效地利用它来完成各种任务...