`
jiajunde
  • 浏览: 167244 次
  • 性别: 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 "'\''"}'

'

 

----------------

 

分享到:
评论

相关推荐

    shell脚本教程.doc

    Awk学习 主要语法 Awk –F”\t” ‘BEGIN{}{}END{}’ 第一个例子:求文本的长度 Wc –l Awk ‘END{print NR}’ NR和NF 第二个例子:输出第二列中有4的 awk -F"\t" '{if($2~/4/){print $2}}' log 也可以是 awk -F"\...

    bash_SHELL开发教程1-awk

    awk '{ if(NR>1) print $0 }' /proc/net/tcp | awk 'BEGIN{ FS=" "} { print $2,$3,$4,$5,$8 }' | sed 's/:/ /g' | awk -F" " ' { if($5="01") print $1, $2, $3, "ESTABLISHED", $5, $6, $7, $8, $9; else if...

    shell 里 awk print 的用法详解

    主要介绍了shell 里 awk print 的用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

    intellij-awk:[WiP] AWK缺少的IntelliJ IDEA语言支持插件

    有兴趣提高我的Java技能并学习一些IDEA内部知识。目标v0.0.1 支持基本的AWK代码突出显示支持基本的AWK代码导航(转到声明,显示结构) 仅支持POSIX子集(又名BWK),不添加Gawk(可在以后添加)目标v0.0.2 显示内置...

    bash-study:shell学习笔记

    BASH STUDY这个项目目的在于学习 bash.#说明由于初学shell,所以进程管理和系统级shell 没有记录。#历史2014.3,读了 ... | grep "res.tiankonguse.com/images/2019/0[1-8]")do f=$(echo $l | awk -F: '{print $1}')

    5.5: sed高级应用 、 awk基本用法 、 总结和答疑.docx

    通过学习本节课程,读者将掌握sed和awk的高级技巧,能够更好地处理文本数据。 一、sed高级应用 sed是一种流编辑器,可以对文本数据进行处理和转换。下面是一个使用sed实现的综合脚本应用的案例。 案例1:sed综合...

    配置Alibaba Cloud ToolKit实现应用程序打包功能.docx

    ps -aux|grep -v grep |grep server-jwt| awk '{print $2}'|xargs kill -9; # 用java 方式启动server-jwt-1.0.jar nohup java -jar /root/server-jwt-1.0.jar &; 将上面的命令行中的“server- jwt”替换为你自己的...

    linux使用lsof命令查看文件打开情况

    主要给大家介绍了关于在linux中利用lsof命令如何查看文件打开情况的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    l-曲线matlab代码-lissajouse_curve_table:在表格中绘制Lissajouse曲线

    l-曲线矩阵代码通过链效应,链中的某处是,然后是,最后我开始学习Lissajouse曲线表。 这是在Matlab / Octave中生成这些代码的代码。 赶紧跑: LissajouseCurveTable() % a 6x6 demo 或者 LissajouseCurveTable(10,1...

    2009 达内Unix学习笔记

    集合了 所有的 Unix命令大全 ...telnet 192.168.0.23 自己帐号 sd08077-you0 ftp工具 192.168.0.202 tools-toolss ... 各个 shell 可互相切换 ksh:$ sh:$ csh:guangzhou% bash:bash-3.00$ ... 命令和参数之间必需用空格隔...

    awk中RS、ORS、FS、OFS的区别和联系小结

    学习awk时,一定要记得动手去实践,只有在实践中才能发现问题,以下就我在学习中和实践中的经验,总结一下RS,ORS,FS,OFS的区别和联系。 一,RS与ORS 1,RS是记录分隔符,默认的分隔符是\n,具体用法看下 代码如下: ...

    learn-colemak:我的学习 Colemak 词汇表

    printf("%s %s %s %s %s %s %s %s %s\n",$0,b,c,$0,b,c,$0,b,c)}' | sed -n 's/ */ /gp' | awk ' {print;} NR % 2 == 0 { print ""; }' > file.learn 添加新行以将课程分成 5 个序列: awk ' {print;} NR % 5 == 0...

    Nginx日志统计分析的常用命令总结

    本文主要给大家总结了关于Nginx日志统计分析的一些常用命令,分享出来供大家参考学习,下面来一起看看详细的介绍: 一、IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一...

    linux unix shell 学习笔记 很全 很经典

    awk.sc2 datafile datafile2 employees employees2 lab5.data names passwd 解释:将把ls的输出送到getline。对于每次循环,getline都从 ls读取一个以上输出,然后打印到屏幕上 .. 举例3: $ ...

    fomo3d源码一键部署

    truffle migrate --reset | grep 'FoMo3Dlong: 0x' | awk '{ print $2 }' 推荐做法 truffle migrate --reset > migrate.log cat migrate.log # 查看有无错误, 如合约均部署成功,但最后报错, 可能有几个赋值方法没有...

    第三十课:解决msfvenom命令自动补全.docx

    $VENOM --list payload|grep -e "^.*\/" | awk '{print $1}' >> $VENOM_CACHE_FILE fi } _msfvenom() { local curcontext="$curcontext" state line typeset -A opt_args _arguments -C \ '(--help)'{--help...

    在jupyter中学习js::orange_book:由JupyterLab和Docker支持的交互式,跨平台JavaScript ES6 Python 3,2笔记本

    在Jupyter中学习JS :orange_book: 您用于JavaScript ES6 / Python 3 / Python 2的交互式学习笔记本由Awesome 和驱动 :spouting_whale: 。 使用有趣; 易于安装 ‍:laptop: ‍:laptop: ... | awk ' FNR==2{print $1} '

    linux中如何使用python3获取ip地址

    前言 这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者... out = os.popen("ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{print

    How To Install nginx on CentOS 6 with yum

    ifconfig eth0 | grep inet | awk '{ print $2 }' ``` 安装成功 如果您看到“Welcome to nginx”的页面,那么您已经成功安装了 Nginx 服务器。现在,您可以继续安装 Lemp Stack 或设置 FTP 服务器等。 小结 在本...

    shell去掉文件中空行(空白行)的方法详解

    本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、shell文件检测的方法,有需要的朋友可以作个参考。本节内容:shell去掉文件中空行 1,shell 去掉文件中的空行 代码如下:cat filename | sed -e ‘/...

Global site tag (gtag.js) - Google Analytics