记录号 记录号 (NR) 是另一个方便的变量。它始终包含当前记录的编号(awk 将第一个记录算作记录号 1)。迄今为止,我们已经处理了每一行包含一个记录的输入文件。对于这些情况,NR 还会告诉您当前行号。然而,当我们在本系列以后部分中开始处理多行记录时,就...
循环结构 awk 的 while 循环结构,它等同于相应的 C 语言 while 循环。 awk 还有 do...while 循环,它在代码块结尾处对条件求值,而不象标准 while 循环那样在开始处求值。 它类似于其它语言中的 repeat...until 循环。 示例: do...while 示例 { count=1 do...
数组下标字符串化 虽然 awk 要执行必要的转换来完成这项工作,但它却可以使用某些看起来很奇怪的代码: a=1 b=2 c=a+b+3 执行了这段代码后,c 等于 6。由于 awk 是字符串化的,添加字符串 1 和 2 在功能上并不比添加数字 1 和 2 难。这两种情况下,awk 都可以...
awk 提供了两个函数printf() 和 sprintf()。如同其它许多 awk 部件一样,这些函数等同于相应的 C 语言函数。 printf() 会将格式化字符串打印到 stdout,而 sprintf() 则返回可以赋值给变量的格式化字符串。 如果不熟悉 printf() 和 sprintf(),介绍 C 语言的...
awk 有许多字符串函数。 在 awk 中,确实需要字符串函数,因为不能象在其它语言(如 C、C++ 和 Python)中那样将字符串看作是字符数组。 例如,如果执行以下代码: mystring=How are you doing today? print mystring[3] 将会接收到一个错误,如下所示: awk:...
我们知道,很多开发语言中,产生随机数的关键是需要一个随机数的基数。 shell 有多种方法获得随机数的基数。 一、时间命令产生伪随机数 date 命令可以获得当前时间的纳秒值,这个值精确到亿分之一秒(范围 000000000~999999999)。可以利用这个纳秒值来产生伪...
在某些场合,可能需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。 一、cat和EOF cat命令是lin...
流量使用状况检测--- 代码如下: #!/bin/bash while : ; do time=`date +%m-%d %k:%M` day=`date +%m-%d` rx_before=`ifconfig eth0|sed -n 8p|awk {print $2}|cut -c7-` tx_before=`ifconfig eth0|sed -n 8p|awk {print $6}|cut -c7-` sleep 2 rx_after=`ifco...
1. $# 传递到脚本的参数个数 2. $* 以一个单字符串显示所有向脚本传递的参数变量。与位置变量不同,此选项参数可超过9个 3. $$ 脚本运行的当前进程ID号 4. $! 后台运行的最后一个进程的进程ID号 5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数 6....
1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。 2. ls 查看目录或者文件的属性,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory...