`

Linux查找命令awk

阅读更多
http://man.lupaworld.com/content/manage/ringkee/awk.htm#id2874788   awk学习


awk 命令
awk '$1 + $2 < 100' test
awk '$1 > 5 && $2 < 10' test
awk '/^(no|so)/' test     -----打印所有以模式no或so开头的行。
awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。
awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。
awk '$1 == 100 || $2 < 50' test-----如果第一个或等于100或者第二个域小于50,则打印该行。
awk '/test/{print $1 + 10}' test-----如果记录包含正则表达式test,则第一个域加10并打印出来
awk '{print ($1 > 5 ? "ok "$1: "error"$1)}' test-----如果第一个域大于5则打印问号后面的表达式值,否则打印冒号后面的表达式值。
awk '/^root/,/^mysql/' test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录,如果找到一个新的正则表达式root开头的记录,
               则继续打印直到下一个以正则表达式mysql开头的记录为止,或到文件末尾
ariable = expression,如$ awk '$1 ~/test/{count = $2 + $3; print count}' test,上式的作用是,awk先扫描第一个域,一旦test匹配,
                  就把第二个域的值加上第三个域的值,并把结果赋值给变量count,最后打印出来。
awk 'BEGIN{FS=":"; OFS="\t"; ORS="\n\n"}{print $1,$2,$3} test。
awk 'END{print "The number of records is" NR}' test,上式将打印所有被处理的记录数。
awk '$1 = 100 {print $1 > "output_file" }' test。
awk 'BEGIN{ "date" | getline d; print d}' test。执行linux的date命令,并通过管道输出给getline,然后再把输出赋值给自定义变量d,并打印它。
awk 'BEGIN{"date" | getline d; split(d,mon); print mon[2]}' test。执行shell的date命令,并通过管道输出给getline,然后getline从管道中读取并将输入
      赋值给d,split函数把变量d转化成数组mon,然后打印数组mon的第二个元素。
awk 'BEGIN{while( "ls" | getline) print}'
awk 'BEGIN{printf "What is your name?"; getline name < "/dev/tty" } $1 ~name {print "Found" name on line ", NR "."} END{print "See you," name "."} test
awk 'BEGIN{while (getline < "/etc/passwd" > 0) lc++; print lc}'
awk '{print $1, $2 | "sort" }' test END {close("sort")}。awd把print语句的输出通过管道作为linux命令sort的输入,
                               END块执行关闭管道操作。

 awk '{if ($1 < $2) {count++; print "ok"}}' test
awk '{if ($1 > 100){ count++; print $1} else {count--; print $2}' test
 awk '{ i = 1; while ( i <= NF ) { print NF,$i; i++}}' test
awk '{for (i = 1; i<NF; i++) print NF,$i}' test

{for ( x=3; x<=NF; x++) 
            if ($x<0){print "Bottomed out!"; break}}
{for ( x=3; x<=NF; x++)
            if ($x==0){print "Get next item"; continue}}
      
awk '/^tom/{name[NR]=$1}; END{for(i in name){print name[i]}}' test
awk '{count[$1]++} END{for(name in count) print name,count[name]}' test
awk '{line[x++]=$1} END{for(x in line) delete(line[x])}' test
awk '{ sub(/test/, "mytest"); print }' testfile                  gsub 
awk '{ sub(/test/, "mytest"); $1}; print }' testfile
awk '{ print index("test", "mytest") }' testfile
awk '{ print length( "test" ) }' 
awk '{ print length }' testfile
substr( string, starting position )
substr( string, starting position, length of string )
awk '{ print substr( "hello world", 7,11 ) }' 
awk '{start=match("this is a test",/[a-z]+$/); print start}'
awk '{start=match("this is a test",/[a-z]+$/); print start, RSTART, RLENGTH }'
awk '{ print toupper("test"), tolower("TEST") }'
awk '{ split( "20:18:00", time, ":" ); print time[2] }'
awk '{ now = systime(); print now }'
awk '{printf("%s,",$1)}' filename
分享到:
评论

相关推荐

    linux匹配命令awk、grep、sed简介

    awk本身就是UNIX/Linux的一种编程语言,用于处理数据和生成报告。 awk逐行方式扫描文件(或输入),以查找匹配某个特定模式的文本行,并对这些文本行执行指定动作。 awk是三个创始人的首字母,代表三个作者:Alfred ...

    Linux AWK 命令

    NULL 博文链接:https://greatwqs.iteye.com/blog/1871506

    详解Linux中的awk命令

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。这篇文章主要介绍了Linux中的awk命令的相关知识,需要的朋友可以参考下

    linux常用命令脚本.txt

    Linux常用命令 # 按 VmSwap 使用量对进程排序,输出进程名称、进程 ID 以及 SWAP 用量 $ for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -...

    Linux查找替换文本编辑常用命令汇总

    Linux中tail,find,grep,sed,awk等,各个查找替换,常用命令,可以很好 的了解tail,find,grep,sed,awk等各个命令的各个参数的含义和用法,掌握Linux下查找替换的功能

    一天一个shell命令 linux文本内容操作系列-awk命令详解

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk...

    常用的linux命令(特别全)

    共60页,16480个字,基本操作命令、目录操作命令、文件操作命令、压缩文件操作、查找命令、su、sudo、下载与安装yum、Linux 三剑客(awk,sed,grep)

    Linux文本处理命令合集

    主要涉及shell脚本中文本处理常见命令,diff/patch查找文本差异,字符串截取cut、tr、uniq等

    linux常用命令大全.doc

    以下是一些Linux的常用命令: 文件管理命令: ls:查看指定目录中有哪些内容。 cd:切换当前目录。 pwd:显示用户在哪个目录下(绝对路径)。 cp:复制文件或目录。 mv:移动或重命名文件或目录。 rm:删除文件或...

    Linux中 sed 和 awk的用法详解

    sed是一个很好的文件处理工具,本身是一个管道命令,awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大 ,本文重点给大家介绍Linux中 sed 和 awk的用法,一起...

    SecureCRT中常用linux命令.doc

    技术分享:SecureCRT中常用linux命令 ...MEM的状况、修改文件编码方式、查找目录、搜索文件、命令历史、VI/VIM命令、sed、awk、以及Linux下经常使用的常规命令

    LINUX操作系统(电子教案,参考答案)

    芬兰青年Linus Torvalds和其杰作的传奇故事吸引了无数的电脑爱好者尝试去使用Linux,但他们中的大多数人却被Unix类操作系统传统的枯燥的字符界面、艰涩难懂的操作命令和数量庞大的基本概念以及基础知识所吓退。Linux...

    linux命令(查找筛选工具)1

    .[3-9]/ 这个表示的是一个字段awk ‘$4 ~/(xxxx|aaaa)/{print $0 $1}’ 文件名 支持与 或 非tr字符修改命令:一般格式T

    Linux培训视频.zip

    09-Linux文件类型及查找文件精讲 10-Linux系统打包和时间命令及案例精讲 11-Linux系统inode及链接知识及企业按哪里精讲 12-Linux系统用户管理知识精讲1 13-Linux系统用户管理知识精讲2 14-Linux系统基础权限知识精讲...

    【大厂面试必备】Linux面试题和答案,以及详细解析!

    31、查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加? 32、通过什么命令查找执行命令? 33、怎么对命令进行取别名? 34、du 和 df 的定义,以及区别? 35、awk 详解。 36、当你需要给命令绑定一个宏...

    LinuxPDF最全学习资料,从安装到大神,运维必备

    B第三章 Linux基本命令操作 C第四章 文件的基本管理和XFS文件系统备份恢复 D第五章 Vim编辑器和Xmanager工具 E第六章 CentOS7用户管理 。。。 J第十一章 重定向和文件的查找 K第十二章 硬盘介绍和磁盘管理 L第十三章...

    深入LinuxUnix命令 脚本 调试.pdf

    1.文件查找与文件列表 ................................................................................................................... 9 1.3.1.根据文件名或正则表达式匹配搜索 ..........................

    RED HAT LINUX 6大全

    4.8 使用Red Hat的wmconfig命令 54 4.9 个人化的X资源文件 54 4.10 使用xdm 55 4.11 XFree86疑难解答 57 4.12 小结 57 第5章 窗口管理器 58 5.1 GNOME X环境 59 5.1.1 什么是GNOME 59 5.1.2 GNOME 安装组件 59 5.1.3...

    redhat linux教材20课程学习文档

    第一部分 Linux简介和原理介绍 第一章 概述 1.1 Linux 的历史及背景 1.1.1 什么是 Linux? 1.1.2 Linux 该怎么念? 1.1.3 Linux 的历史 1.1.4 Linux的优点 1.2 Linux与开源软件 1.3 Linux 与 Windows 的比较 1.3.1 ...

Global site tag (gtag.js) - Google Analytics