`

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...

    awk学习awk学习awk学习awk学习

    awk是一种极其灵活且功能强大的文本处理工具,在Linux/Unix系统中具有广泛的应用。掌握awk的基本语法和高级特性对于提高文本处理效率和实现自动化任务至关重要。无论是简单的模式匹配还是复杂的逻辑处理,awk都能...

    AWK用法AWK用法AWK用法

    运行存储在文件`awkfile`中的AWK脚本,并应用于`file`。这种方式可以编写更复杂的AWK程序。 ### 示例分析 #### cat awkfile /101/ {print "Hello!"} 在文件`awkfile`中包含匹配`101`的行时打印`Hello!`。这是如何...

    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 的模式可以...

    awk参考资料下载awk

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

Global site tag (gtag.js) - Google Analytics