编写统计脚本过程中的shell命令和问题备忘

1. date 命令

  (1) 不带选项和参数的date返回当前时间,返回的是环境变量TZ指定的时区时间,若未设置TZ变量,则返回系统默认的时区时间。

  

  (2) date -u 显示或设置通用时间 时间域

  

  (3) date -s 设置当前日期或时间,只有root权限才能设置。

  (4) date -d str [+格式描述串] 显示由str描述的日期或时间,格式由+后面的串指定

  % H 小时(00..23) 
  % I 小时(01..12) 
  % k 小时(0..23) 
  % l 小时(1..12) 
  % M 分(00..59) 
  % p 显示出AM或PM 
  % r 时间(hh:mm:ss AM或PM),12小时 
  % s 从1970年1月1日00:00:00到目前经历的秒数 
  % S 秒(00..59) 
  % T 时间(24小时制)(hh:mm:ss) 
  % X 显示时间的格式(%H:%M:%S) 
  % Z 时区 日期域 
  % a 星期几的简称( Sun..Sat) 
  % A 星期几的全称( Sunday..Saturday) 
  % b 月的简称(Jan..Dec) 
  % B 月的全称(January..December) 
  % c 日期和时间( Mon Nov 8 14:12:46 CST 1999) 
  % d 一个月的第几天(01..31) 
  % D 日期(mm/dd/yy) 
  % h 和%b选项相同 
  % j 一年的第几天(001..366) 
  % m 月(01..12) 
  % w 一个星期的第几天(0代表星期天) 
  % W 一年的第几个星期(00..53,星期一为第一天) 
  % x 显示日期的格式(mm/dd/yy) 
  % y 年的最后两个数字( 1999则是99) 
  % Y 年(例如:1970,1996等)

  更多关于选项-d的示例:

  

2.  shell 中的数组

  

  2.1 数组定义

    使用一对括号表示数组,元素用空格符分开

  2.2 数组读取与赋值

    ${#数组名[@]} 或${#数组名[*]} 返回数组长度

    $array 得到array第一个元素

    ${array[2]}得到array第三个元素(下标由0开始计算)

    ${array[@]}或${array[*]} 列出数组所有元素

    array[1]=100 对array第二个元素赋值,若不存在则自动添加一个新元素

    unset array 清除整个数组

    unset array[1] 清除array的第二个元素

  2.3 数组遍历

    

3. bc命令

  bc是linux下的浮点计算器。可以指定保留小数点位数,bc -l 还可以使用一些数学函数。

4.expr命令

  expr命令是一个手工命令行计算器和一个字符串处理工具。在当作计算器使用时,运算符的两遍必须有空格。使用乘法符号* 时必须进行转移,防止shell误解*的意义。

  expr 命令还看用来进行一些字符串的处理,包括返回字符串长度、抓取子串等。

       

5.awk中引用外部参数

  在awk中使用$来引用字段,当awk处于函数中时,如果需要在awk中引用函数参数,则需要使用单双引号来引用

  

  awk 可以通过使用'/ /' 来指定只处理处理匹配某模式的行

  awk '/_/' file 只处理含下划线的行

  awk '/288/’ file 只处理含288的行

posted @ 2013-04-16 22:18  没有113  阅读(229)  评论(0编辑  收藏  举报