• 每天进步一点点!

文章分类

推荐网站

常用手册

linux查看端口占用情况【原创】

netstat -tnl查看所有被占用的端口

 

 

netstat -pan 查看所用被占用端口的详细信息,最后一行是被占用的端口的pid

 

 

获得pid后就可以用kill命令杀死该进程了

类别:Linux | 浏览(93) | 评论(0) | 阅读全文>>

awk实用程序(五)【原创】

十一、条件语句

格式:

{if(表达式) {语句1;语句2;...}}

{if(表达式){语句1; 语句2...} else {语句1; 语句2;...}}

{if(表达式1){语句1; 语句2...} else if (表达式2){语句1; 语句2;..} else if (表达式2){语句1; 语句2;..} else if (表达式2){语句1; 语句2;..} ... else{语句1; 语句2... }}

注意:if语句是操作必须用花括号括起来。

 

十二、循环

1.while循环

{while(表达式) {语句1;语句2;...}}

{do{语句1;语句2;...}while(表达式)}

例:

awk '{i = 1; while(i <= NF) {print NF, $i; i++}}' test_awk.txt  

注意:i的起始值应从1开始,因为i=0时,$i = $0代表一整行。

2.for循环

例:

awk '{for(i = 1; i < NF; i++) {print $i}}' test_awk.txt

3.循环控制

continue跳出内循环,break跳出外循环

 

十三、程序控制语句

1.next语句

next语句从输入文件中取出下一行输入,然后从awk的顶部继续执行。

例:

awk '{if($1 ~ /ABC/){next} else{print}}' test_awk.txt 

#abc     def     hic     lmn     abc
#123     456     1.23    4.5     321
#You     are     a       good    boy
#That's  a       very    lovely  dog

 

类别:Linux | 浏览(120) | 评论(0) | 阅读全文>>

awk实用程序(四)【原创】

八、变量

1.数值变量和字符串变量

数值数字可以是整数、浮点数和科学计数法表示的数(如:.723E-1, 3.4e7),字符串则扩在双引号中。

初始化:只要在awk程序中被提到,变量就开始存在,变量可以是一个字符串或一个数字,也可以即是字符串又是数字。变量被设置后就会变成与等号右边那个表达式相同的类型。未经初始化的变量时0或“”

强制类型转换:如果把一个字符串强制转换成数字,方法为:变量名+0;如果要把一个数字转化为字符串方法为:变量名 ""(变量名后跟一个空格和一个空字符串);

2.用户自定义变量

变量名可以是字母,数字和下划线,但不能以数字开头。不用声明变量类型,awk会自动判断。如果变量为初始化,awk会将字符串初变量始化为空字符串,数值变量初始化0;

3.字段变量

新的字段可以通过赋值来创建,字段变量引用的字段如果没有值责备赋值为空串,字段的值发生变化时,awk会以OFS

的值作为字段分隔符重新计算$0变量的值,字段数目最多限制在100以内。

例:awk '{$5 = $3 * 1000 / 2 ; print}" filename

说明:如果不存在第五个字段($5),awk会创建它并将$3 * 1000 / 2的值赋给它,如果存在第五个字段,awk直接将表达式的值赋给它,替换掉原来的内容。

类别:Linux | 浏览(127) | 评论(0) | 阅读全文>>

awk实用程序(三)【原创】

七、比较表达式

1.关系运算符

 

运算符

描述

赋值运算符

= += -= *= /= %= ^= **=

赋值语句

逻辑运算符

||

逻辑或

&&

逻辑与

正则运算符

~ ~!

匹配正则表达式和不匹配正则表达式

关系运算符

< <= > >= != ==

关系运算符

算术运算符

+ -

加,减

* / &

乘,除与求余

+ - !

一元加,减和逻辑非

^ ***

求幂

++ --

增加或减少,作为前缀或后缀

其它运算符

$

字段引用

空格

字符串连接符

?:

C条件表达式

in

数组中是否存在某键值

类别:Linux | 浏览(106) | 评论(0) | 阅读全文>>

awk实用程序(二)【原创】

五.文件中的awk命令

如果awk命令别写到文件里,就要用-f选项指定awk的文件名。后面再加所要处理的输入文件的文件名。awk从缓冲区读入一条记录,接着测试awk文件中的每一条命令,如后对读入的记录执行命令。处理完一条记录后,awk将其丢弃,接着将下一条记录读入缓冲区,依次处理所有记录。

cat test_awk.txt 

 

abc     def     hic     lmn     abc

123     456     1.23    4.5     321

ABC     Def     hIc     lmN     ABC

ABC     Def     cih     lmN     dsf

You     are     a       good    boy

That's  a       very    lovely  dog

cat shell.awk 

 

/^ABC/{print "hello world "}

{print $1, $3}

例:

awk -f shell.awk test_awk.txt 

#abc hic
#123 1.23
#hello world

#ABC cih
#hello world

#ABC hIc
#You a
#That's very

 

说明:awk将第一条记录读入缓冲区,用shell.awk中的命令去处理,首先检查这条记录是不是以ABC开头,如果不是则继续对该条记录执行第二条命令,即打印第一和第三个字段。如果是以ABC开头的,则打印'hello world'和一个换行,然后再执行第二条命令打印第一和第三个字段。执行完第一条记录后,将其丢弃,然后读入第二条记录,执行上述操作。直到所有记录都处理完毕。

类别:Linux | 浏览(111) | 评论(0) | 阅读全文>>