`
jiajunde
  • 浏览: 169641 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

awk --- print学习

阅读更多

测试环境:

[gan@localhost tmp]$ uname -a
Linux 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 version
GNU 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.txt
LINE1 Date
LINE2 abc
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((
[gan@localhost tmp]$ awk '{ print }' file.txt
LINE1 Date
LINE2 abc
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((

输出文件的一部分:
[gan@localhost tmp]$ awk '{ print $1}' file.txt
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
[gan@localhost tmp]$ awk '{ print $2 }' file.txt
Date
abc
7823
s0df
8&32*
~!@#$%^*((

增加部分内容输出:
[gan@localhost tmp]$ awk '{ print "header " $1 "\t" $2 }' file.txt
header 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.txt
header
header
header
header
header
header
[gan@localhost tmp]$ awk -F":" '{ print $2 }' dfile.txt
LINE1
LINE2
LINE3
LINE4
LINE5
LINE6
[gan@localhost tmp]$ awk -F":" '{ print $2 " " $1 }' dfile.txt
LINE1    header
LINE2    header
LINE3    header
LINE4    header
LINE5    header
LINE6    header

输出包含(不包含)特定字符的行(sed也可以完成该功能):
[gan@localhost tmp]$ awk '/[a-c]/ { print }' file.txt
LINE1 Date
LINE2 abc
[gan@localhost tmp]$ awk '!/[a-c]/ { print }' file.txt
LINE3 7823
LINE4 s0df
LINE5 8&32*
LINE6 ~!@#$%^*((

采用判断来输出特定的列数据:
[gan@localhost tmp]$ awk '$1 == "LINE2" { print $2 }' file.txt
abc
http://gan.cublog.cn
部分包含,不包含指定的字符:
[gan@localhost tmp]$ awk '$2 ~ /[a-d]/ { print }' file.txt
LINE1 Date
LINE2 abc
LINE4 s0df
[gan@localhost tmp]$ awk '$2 !~ /[a-d]/ { print }' file.txt
LINE3 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-培训.docx

    awk语句`awk '{code}1'`中的`1`是默认模式,相当于没有指定任何模式,其动作默认为`print`,所以`awk '1'`等价于`awk '{print}'`,即打印每一行。 awk的工作流程如下: 1. 执行`BEGIN`代码块中的命令。 2. 从标准...

    AWK-学习笔记(共享)

    以下是对标题和描述中提及的AWK学习知识点的详细阐述: 1. **AWK的定义**: AWK是由Aho、Weinberger和Kernighan三位开发者命名的样式扫描和处理语言,主要用于从文本文件中提取数据或对数据进行格式化输出。它的...

    awk使用大全

    通过本文对awk使用大全的深入探讨,我们不仅了解了awk的基本语法和功能,还学习了如何利用awk进行高效的数据处理。无论是对于初学者还是有经验的用户,掌握awk都将极大地提升在Linux环境下的文本分析和处理能力。

    sed and awk 101 hacks.pdf

    学习Sed和Awk可以显著提升UNIX和Linux操作效率,对于开发者、系统管理员、数据库管理员或IT管理员来说是非常重要的技能。掌握这些工具,意味着能够快速地进行文本处理、数据提取和报告生成,解决很多日常工作中遇到...

    awk学习笔记,从论坛整理而来

    `awk` 是一种强大的文本分析工具,常用于处理和解析结构化的文本文件,如日志文件、配置文件等。在Linux和Unix系统中,`awk` ...通过不断地实践和学习,你将能够有效地利用 `awk` 解决日常工作中遇到的文本处理问题。

    awk教程-awk教程.rar

    - **《每天学习一个命令:awk 处理文本》**:这本书可能包含了awk的基础操作和实例,适合初学者入门。 - **《awk 入门教程_阮一峰的网络日志》**:阮一峰老师的教程通常深入浅出,易于理解,适合快速了解awk的基本...

    AWK语言学习资料--基础知识

    - `'{ print $0 }'` 是AWK的典型用法,它会打印输入的整行。 - 分隔符:默认情况下,AWK使用空格或制表符作为字段分隔符,但可以通过`FS`变量自定义,如`'{FS=":"}'`设置为冒号。 - 输出分隔符:`OFS`变量可以...

    shell工具awk语法略解

    在 AWK 中,可以使用 `print` 或 `printf` 命令来输出文本。`print` 默认在每个记录后面添加一个换行符,而 `printf` 允许更精确的格式化输出,比如控制字段宽度和对齐。`print $1, $2` 会打印第一和第二个字段,而 ...

    AWK实例教程 AWK实例教程中文版

    - **启动AWK**:通过命令行启动AWK,例如`awk '{print}' /etc/passwd`。这条命令会打印出`/etc/passwd`文件的所有内容。 - **代码块与命令**:在AWK中,花括号`{}`用于定义代码块。当代码块内仅包含一条命令时,...

    sed and awk 101 hacks

    《sed and awk 101 hacks》是一份关于学习和提升sed和awk使用技巧的文档。文档主要涵盖了sed命令的基础使用、高级技巧以及如何与awk结合使用的方法。本文将详细解读文档中的知识点,以便为读者提供一个全面的参考。 ...

    shell 里 awk print 的用法详解

    现在,我们通过几个示例来学习awk `print`的使用: **示例1**:默认行为 ```bash awk '{print;}' employee.txt ``` 这个例子中没有指定模式,所以awk会打印`employee.txt`文件的每一行。 **示例2**:基于模式的...

    awk教程入门到精通

    awk '{ sum += $3 } END { print sum }' processes 9. 输出/输入重定向 使用 awk 输出/输入重定向来处理数据: awk '{ print }' processes > output 这些实例只是 awk 的一些基本应用,awk 的功能远远不止这些。...

    awk命令详解 包括详细的组合结构

    awk 是一个强大的文本分析工具,常用于处理结构化数据,如CSV、日志文件等。在Linux和Unix环境中,awk命令被广泛使用。本篇文章将详细介绍awk命令的使用...学习和熟练掌握awk命令,可以极大地提高处理文本数据的效率。

    awk-script:awk脚本指南

    《awk脚本指南》 在IT领域,awk是一种强大的文本分析工具,尤其在处理日志文件、数据分析等方面表现卓越。...通过学习本指南,读者将能够熟练运用awk进行数据提取、过滤、转换等任务,提升在数据分析领域的技能。

    linux awk 操作日指南

    - **打印特定内容**:例如 `awk '{print "hiya"}' filename` 将会在文件的每一行后打印 "hiya"。 #### 字段处理 - **字段分隔符设置**:通过 `-F` 参数设置字段分隔符。例如 `awk -F ":" '{print $1}' filename` ...

    awk教程(怎样使用awk编写脚本)

    如果想同时打印用户名和用户标识(uid),可以写成 `awk -F":" '{ print $1 $3 }' /etc/passwd`,但由于默认不会自动插入空格,所以我们需要手动添加,如 `awk -F":" '{ print $1 " " $3 }' /etc/passwd`。...

    awk知识文档学习

    - **在线文档**: GNU Awk官方手册和相关的在线资源可以作为学习参考。 以上知识点涵盖了Awk的基础概念、程序结构、字段和记录的处理方法、格式化输出的技巧,以及Awk命令在实际中的应用。通过深入学习和实践这些...

    AWK 编写程序

    通过以上知识点的学习,我们可以了解到 AWK 是一种功能强大且灵活的工具,不仅能够处理简单的文本输出任务,还能应对复杂的模式匹配和数据处理需求。随着对 AWK 的深入了解,我们可以更加高效地利用它来完成各种任务...

Global site tag (gtag.js) - Google Analytics