awk --- print学习
来源:百度文库 编辑:神马文学网 时间:2024/04/27 09:32:51
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书写(变量定义,if使用,循环和数组的使用,系统函数的使用,,awk内部的环境变量)
[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书写(变量定义,if使用,循环和数组的使用,系统函数的使用,,awk内部的环境变量)
2>. 在不同平台awk的区别,怎么写出通用的awk(Linux,AIX, HPUX, SunOS)
awk --- print学习
Awk学习笔记
Awk学习笔记
awk
IBM-awk学习资料[一] - shell编程 - Linuxer William_zx...
AWK使用
【awk】awk语法(小结)
google-print
Genesis 创世记02-英语听力-print-大耳朵英语 - 免费在线英语学习 口语练...
Unix awk使用手册
awk用法小结_Linxh
awk 中 printf 使用方法
awk?中?printf?使用方法
awk简明教程
shell awk-------未完待续
awk简明教程
sed和awk
awk单行程序参考
Google-Print电子图书检索
Linux LPD Print Server
AWK & GAWK 名字的由来
CBSNews.com: Print This Story
Linux command: awk字串處理
linux常用命令使用详解--awk-ZOL博客