11Thu Apr
提取出 Connection Processed 前 大于10的数字项
awk -F ' ' '$0~/Connection Processed/ {if( $7 > 10 ) print $7_$0;}' /z.log |sort -r
------------------------------------------------------------------------------
awk 更复杂一些的应用
cat /z.log | awk -F ' ' '$0~/Connection Processed/ {if( $7 > 10 ) print $7_$0; system("clear")}' |sort -r
system 用来调用系统shell命令
------------------------------------------------------------------------------
拼接字符串输出单引号
a.txt
123123
123123
123123
-----
方法1
awk 'BEGIN{ str=""; } {str=" "str" or user_id='/''"$0"'/'' "; } END{print str}' a.txt
方法2
awk 'BEGIN{ str=""; } {str=" "str" or user_id=/047"$0"/047 "; } END{print str}' a.txt
结果or user_id='123123'
----------------------------------------------------------------------------------------
合并文件并且选出关联 内容
a.txt-----------------
1054 10.0.0.123 abcde.com
1055 10.0.0.34 abcde.com
b.txt
1053 10.0.0.128 abcde.com
1054 10.0.0.129 aaa.com
命令-------------------
awk '{ while( ("cat a.txt"|getline k) >0){ split(k,store," ");
输出
1054 10.0.0.123 abcde.com 1054 10.0.0.129 aaa.com
其中break;和continue;在语句中可以使用
"cat a.txt"|getline k 和 getline k<"a.txt"等效close("a.txt")来重新打开文件