关于awk小技巧
Awk小技巧 1. BEGIN和END的作用 BEGIN代码块在处理文本之前,一般用于初始化的 主体代码块对文本的每一行 END代码块在处理完文本之后,一般用于汇总数据打印结果 2. 怎样打印文本的每一行 cat num.txt |awk {print 0} cat num.txt |awk {print} cat num.txt |awk 1{print}非0为真,0为假 cat num.txt |awk 1 3. 常用内置变量有哪些 NR当前行数 NF当前列数 ORS输出行分隔符 OFS输出列分隔符 4. 怎么在整个文本最开始插入一行 cat num.txt |sed 1i00 cat num.txt|awk BEGIN{print 00}1 5. 怎样只打印某一些行 awk NR3NR5{print 0} cat num.txt |awk NR3,NR5 cat num.txt |awk /3/,/5/ cat num.txt |awk NFd,NFg cat a1.txt|awk /server/,/\/server/ 6. 怎样进行排重 cat text1.txt |awk {print 1}|sort -u|wc –l cat text1.txt |awk ip[1]|wc -l 7. 怎样只打印某一些列 ps aux|awk {print 1,2,3,4} ps aux|awk NF4 ps aux|awk {fori11;iNF;i{printfs ,i}printf\n} ps aux|awk {fori1;i10;i{i};gsub/ /,,0;print} 8. 怎么样使用多分隔符 df|awk -F | NR1{print 5} ifconfig|awk -F | /inet /{print 4} 9. 替换分隔符 df|awk {11;OFS;print} 10. 将一列变为多列 awk ORSNR3 \n 问号表达式 变量表达式值1(为真) 值2(为假) 11. 多文件操作怎样实现 awk FNRNR{k[1]}FNRNR{if1 in k{print}} uid.txt num.txt awk FILENAMEuid.txt{k[1]}FILENAMEnum.txt{if1 in k{print}} uid.txt num.txt 12. 多压缩文件的操作 mkfifo num.fifo mkfifo uid.fifo zcat num.txt.gz num.fifo zcat uid.txt.gz uid.fifo awk FNRNR{k[1]}FNRNR{if1 in k{print}} uid.fifo num.fifo 13. Awk的脚本想改写成perl困难吗 A2p abc.awk abc.pl 14. Awk怎么对文件进行切分 cat text1.txt |awk {print log/file_intNR-1/10000.txt} 15. 在awk中怎么调用其他语言 cat num.txt |awk {date s;|getline time;close;print 0,time} 16. Awk和shell相互传值 Shell传给awk b123 awk -v ab BEGIN{print a} awk BEGIN{ab;print a} awk传给shell awk BEGIN{print a555;b666} 17. 用awk来写mapreduce Map.sh awk {sum[1]}END{fori in sum{print i,sum[i]}} Red.sh awk {sum[1]2}END{fori in sum{print i,sum[i]}} /usr/local/hadoop-0.20.2/bin/hadoop jar /usr/local/hadoop-0.20.2/contrib/streaming/hadoop-0.20.2-streaming.jar -jobconf mapred.reduce.tasks1 -jobconf mapred.textoutputat.separator -jobconf stream.map.output.field.separator -mapper /root/map.sh -file /root/map.sh -reducer /root/red.sh -file /root/red.sh - /user/root/in1 -output /user/root/out1 亲爱的用户 烟雨江南,画屏如展。在那桃花盛开的地方,在这醉人芬芳的季节,愿你生活像春天一样阳光,心情像桃花一样美丽,感谢你的阅读。 1、最困难的事就是认识自己。20.7.307.30.202020592059187月-202059 2、自知之明是最难得的知识。二〇二〇二〇二〇年七月三十日2020年7月30日星期四 3、越是无能的人,越喜欢挑剔别人。20597.30.202020597.30.202020592059187.30.202020597.30.2020 4、与肝胆人共事,无字句处读书。7.30.20207.30.202020592059205918205918 5、三军可夺帅也。星期四, 七月 30, 2020七月 20星期四, 七月 30, 20207/30/2020 6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。8时59分8时59分30-7月-207.30.2020 7、人生就是学校。20.7.3020.7.3020.7.30。2020年7月30日星期四二〇二〇二〇二〇年七月三十日 8、你让爱生命吗,那么不要浪费时间。20592059187.30.2020星期四, 七月 30, 2020