`

awk应用

F# 
阅读更多

a.txt
andy    05/99   48311   Green   8       40      44
congfeng        06/99   4317    green   9       24      26
ljb     02/99   48      Yellow  12      35      28
carl    07/99   4842    Brown-3 12      16      26
rich    05/99   4712    Brown-2 12      30      28


[root@localhost shell]# awk '{ print $0 }' a.txt
[root@localhost shell]# awk '{ print $1,$4}' a.txt

#单独使用begin/BEGIN都可以,但是要使用begin-end的方式。必须全部大写:BEGIN-END
[root@localhost shell]# awk 'BEGIN {print "hello, andylin!\nName\tBelt\n"}
[root@localhost shell]# awk 'begin {print "hello,andylin!\nName\tBelt"} {print $1, $4} 

END {print"end of awk"} ' a.txt

[root@localhost shell]# awk '{if ($4 ~ /Brown/ ) print $0}' a.txt

[root@localhost shell]# awk '$3=="48" {print $0}' a.txt
[root@localhost shell]# awk '$0 !~ /Brown/' a.txt
[root@localhost shell]# awk '{if($0 !~ /Brown/) print$0}' a.txt
[root@localhost shell]# awk '{if ($4 !="Brown-2") print$0}' a.txt
[root@localhost shell]# awk '{if($6<$7) print$0} ' a.txt

[root@localhost shell]# awk '{if($6 <= $7) print $0}' a.txt



[root@localhost shell]# awk '/[Gg]reen/' a.txt

[root@localhost shell]# awk '{if($0~/[Gg]reen/) print $0}' a.txt

[root@localhost shell]# awk '{if ($1=="andy" && $4=="Green") print $0}' a.txt
[root@localhost shell]# awk '{if ($1=="andy" || $4=="Green") print $0}' a.txt

awk 'BEGIN {print ARGC,"_" FS, "_"} {print NF,NR} ' a.txt


awk 'END{print NR,$NF,FILENAME}' a.txt


[root@localhost shell]# echo $PWD | awk -F/ '{print $NF}'
[root@localhost shell]# pwd | awk -F/ '{print $NF}'

[root@localhost shell]# awk '{name=$1;belts=$4; if (belts ~/Yellow/) print name " is 

belt " belts}' a.txt

[root@localhost shell]# awk 'BEGIN {BASELINE="27  "} {if($6 < BASELINE) print $0}' a.txt
[root@localhost shell]# awk 'BEGIN {BASELINE=27} {if($6 < BASELINE) print $0}' a.txt

[root@localhost shell]# awk '{if($1=="andy"){$1="aaa"}; print $1}' a.txt

[root@localhost shell]# awk '{if($1 > "cc")  print$1,$2}' a.txt
[root@localhost shell]# awk '{if($1 > "cc") {}; print$1,$2}' a.txt

[root@localhost shell]# awk 'BEGIN{print"Name\tDifference"} {if($6<$7){$8=$7-

$6;print$1,$8}}' a.txt

[root@localhost shell]# awk '{total += $6} END{print "total points:"total}' a.txt
[root@localhost shell]# awk '{total += $6}{print$0} END{print "total points:"total}' 

a.txt

[root@localhost shell]# ls -l | awk '/^[^d]/ {print $8"\t"$5} {total += $5} END{print 

"total KB:"total}'


[root@localhost shell]# awk 'gsub(/4842/,1111){print$0}' a.txt

[root@localhost shell]# awk 'gsub(/4842/,1111){print$0}' a.txt


[root@localhost shell]# awk 'BEGIN {print "length($1)",length($1)} {print "length

($1):"length("a"$1)}' a.txt

[root@localhost shell]# awk 'BEGIN {print split("123#456#678", arr, "#"),arr[0], arr[1], 

arr[2]}'

[root@localhost shell]# echo "65" | awk '{printf"%c\n",$0}';

[root@localhost shell]# awk '{printf "%-15s %s\n", $1,$3}' a.txt

[root@localhost shell]# who | awk '{print $1" you are connect "$2}'


awk文件
#!/bin/awk -f

BEGIN{
        print("=========== Begin =================");
        strRecord="123#456#789";
        split(strRecord, arr, "#");

        FS="\t";
};

{
        print $0;
        total += $6;
}

END{
        for (i in arr)
        {
                print(arr[i]"\t");
        }
        print("total val:", total);
        print("******* end of awk ***********");
};


 
分享到:
评论

相关推荐

    AWK应用和讲解步骤

    根据给定文件的信息,我们可以总结出以下关于 AWK 应用和讲解步骤的相关知识点: ### 一、AWK 基础语法 AWK 是一个强大的文本处理工具,在 Linux 和 Unix 系统中广泛使用。AWK 的基本命令格式如下: ``` awk [选项...

    AWK 应用程序入门与实例

    ### AWK 应用程序入门与实例 #### Awk简介及基本概念 Awk是一种功能强大的文本处理语言,尤其适用于处理结构化的数据文件,并能够轻松完成格式化输出、数据分析等任务。尽管其名称可能看起来有些怪异,但其实用性...

    071204awk应用1

    本篇文章主要探讨了`awk`在Linux Web服务器故障分析和网站日志分析中的应用。 1. **TCP连接状态分析** - `netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn`: 此命令用于统计不同TCP连接状态的数量,`$6`...

    awk使用手册,awk使用手册

    Awk 是一种功能强大的文本处理工具,广泛应用于 Unix 和类 Unix 系统中。它的名字来源于三位设计者的名字首字母:Aho (Peter)、Weinberger (Brian) 和 Kernighan (Doug)。Awk 作为一款独特的编程语言,它不仅能够...

    非常经典的awk教程

    8. **Shell中的awk应用**: - 在Shell脚本中,awk常与其他命令如`grep`、`sed`结合使用,进行复杂的文本处理任务。 9. **学习资源**: - 提供的两个文档——"Shell编程下的AWK语法小结.doc"和"AWK使用手册.doc"是...

    sed & awk 第二版 例程 源代码 源码 sed & awk sourcecode

    书中提供的源代码涵盖了各种awk应用实例,如日志分析、数据报表生成、数据过滤等。 在sedawk2progs这个压缩包中,包含了书中所有例程和源代码,这对于学习和实践这两个工具至关重要。读者可以逐个运行这些程序,...

    awk实用手册

    10. **awk应用示例** - 分析日志文件,找出访问量最高的页面。 - CSV数据处理,提取特定列的数据。 - 检查文件中的错误模式,如空行、特定字符等。 - 生成报告,通过计算平均值、总和等统计信息。 通过深入学习...

    Linux四剑客之awk高级应用.doc

    Linux awk 高级应用 awk 是一个基于模式匹配检查输入文本的数据处理引擎,由 Aho Wwinberger Kernighan 创造。它通常用在 shell 中,获取指定的数据,单独使用时,可对文本数据做统计。awk 也是一种编程语言,拥有 ...

    linux shell 编程之 awk用法

    #### Awk 应用示例 1. **打印/etc/passwd文件的第一列**: ```sh awk -F: '{print $1}' /etc/passwd ``` 2. **将输出重定向到文件**: ```sh awk -F: '{print $1}' /etc/passwd &gt; users.txt ``` 3. **打印...

    awk-prototype:awk 应用程序原型

    "awk-prototype"项目看起来是基于`awk`构建的应用程序原型,可能用于快速处理特定的数据任务。这个项目与JavaScript相关,可能意味着它通过某种方式与JavaScript集成,比如在Node.js环境中使用,或者作为JavaScript...

    Shell脚本专家指南.sed与awk第二版.shell十三问

    3. Awk应用:理解其工作原理,掌握数据处理和分析技巧,以及编写复杂的逻辑和报告生成。 4. Shell脚本实战:解决常见的Shell编程难题,提高脚本的稳定性和效率。 5. 文本处理和数据分析:结合sed和awk进行高效的文本...

    awk入门到精通.pdf

    awk的常见应用场景是编写小型工具,它们解决特定问题,通过Shell的管道功能组合起来解决更大问题。这种解题方式允许灵活重组和重用小工具,也可以用于快速验证大型程序原型,如果需要更高性能,可以之后用C语言重写...

    awk教程入门到精通

    下面是一份 awk 教程,从基础知识到高级应用,涵盖了 awk 的基本概念、语法、函数和应用实例。 awk 基础知识 awk 的基本结构是 pattern{action},其中 pattern 是awk的模式, action 是awk的动作。awk 的模式可以...

    Sed与Awk (中文版)

    **sed和awk工具的介绍与应用** sed和awk是广泛应用于UNIX系统中的两个文本处理工具。sed是流编辑器(stream editor)的缩写,而awk则是一种编程语言,得名于其三位开发者:Alfred Aho、Peter J. Weinberger和Brian ...

    awk参考资料下载awk

    如果没有任何模式,那么操作会应用到所有行。如果没有指定操作,awk会默认打印匹配的行。 **实例** 例如,以下命令会打印所有包含字符串"root"的行: ```bash awk '/root/' test ``` 而这个命令会打印第三字段...

Global site tag (gtag.js) - Google Analytics