`
canofy
  • 浏览: 829765 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

统计系统一-----用shell写的一些函数

阅读更多
用shell写的一些函数
属于统计系统的一部分,之后会慢慢写出来其它的部分
#获取当前时间
getCurrentTime(){
    current_time=`date --date="now" +%Y-%m-%d' '%H:%M:%S`;
    echo $current_time;
}

#时间格式的转换
#如:2009-05-14 19:01:12   转换成 2009-05-14-19 
formate_date(){
    time=$1;
    if [ -z "${time}" ]
    then
       pass; 
    else
        echo $time|sed -n 's/ /-/p'|cut -b1-13 
    fi
}

#记录日志
logInfo(){
    info=$1;
    fileName=$2;
    #判断文件是否存在,不存在则建立文件
    #if [ -e "${fileName}" ]; then
    #    touch $fileName;
    #fi
    echo $(getCurrentTime)	$info>>$fileName
}

#发送邮件
#第一个参数为主题
#第二个参数为内容
#配置文件的每一行为一个邮箱
send_mail(){
    #mailfile="/usr/local/qs/p/config/mail.config"
    subject=$1 
    content=$2
    mailfile=$3
    #组装邮件的发送地址
    mailto=$(cat $mailfile |sed -n '1'p);
    maillist=$(cat $mailfile |sed -n '2,$'p); 
    if [ -n "$maillist" ] ; then 
        for email in $maillist ;do 
            mailto=$mailto" -c "$email  
        done 
    fi
    #发送邮件
    echo $content|mail -s $subject $mailto 
}

#获取配置文件的值
#配置文件的格式如:key=value
#第一个参数为key
#第二个参数为配置文件,需要绝对路径
#返回value
getConfigValue(){
    key=$1;
    configFile=$2;
    #aa=$key为向awk传递值进去做处理
    value=$(awk  -F"=" '$1==aa {print $2}' aa=$key $configFile);
    echo $value
}

#从url中获取ip地址
#如:http://192.168.1.55/webdav 返回的值是192.168.1.55
getIpByUrl(){
    ulr=$1;
    #ip=`echo $url |sed -n 's/[a-z:/-]*$//p'|sed -n 's/^[a-z:/-]*//p'`
    ip=`echo $url|sed -n 's/^http:\/\/\([^/]*\)\/.*$/\1/p'`
    echo $ip
}

#获取日志的文件名
#第一个参数为时间
#第二个参数为配置文件中日志的key值
#第三参数为配置文件
#返回日志的最终名称,其实就是把XXXX-XX-XX-XX替换为时间
getLogName(){
    lasthour=$1;
    key=$2;
    configFile=$3;
    value=$(awk  -F"=" '$1==aa {print $2}' aa=$key $configFile|sed s/XXXX-XX-XX-XX/"$lasthour"/g );
    echo $value
}


#获取下载日志文件的具体路径,若没有该ip的目录,则新建目录
#如:192.168.1.55 若没有该目录,则新建一个192.168.1.55的目录
#第一个参数为路径
#第二个参数为ip地址
getDownPath(){
    ip=$2;
    path=$1;
    rp=$path"/"$ip
    if [ ! -e "$rp" ] ; then
        mkdir $rp
    fi
    echo $rp
}

#获取上一层的路径的路径(相当于工作目录)
getWorkPath(){
    path=`pwd|sed -n 's/\(\/[a-z]*\)$/ /p'`
    echo $path
}


分享到:
评论

相关推荐

    统计系统七----主要执行的shell文件

    "统计系统七----主要执行的shell文件"这个标题暗示我们可能会探讨一个用于数据统计的系统,其中shell脚本起着核心作用。在这个系统中,shell脚本可能是主要的执行程序,用于收集、处理和分析数据。 首先,让我们...

    Linux运维-运维系统服务04-Shell脚本d6-Shell函数与正则表达式-02实战案例3统计web服务的连接状态.mp4

    Linux运维-运维系统服务04-Shell脚本d6-Shell函数与正则表达式-02实战案例3统计web

    sqlite-shell-win32-x86-3071300.zip

    "sqlite-shell-win32-x86-3071300.zip" 是一个针对Windows 32位系统的SQLite命令行外壳程序的压缩包,版本号为3071300,这表明它是SQLite的一个较新版本。 SQLite命令行外壳程序(sqlite3.exe)是用于与SQLite...

    UNIX实验---考勤程序--shell编程

    7. **函数**:定义和调用Shell函数可以使代码更模块化,便于复用和维护。 8. **错误处理和调试**:使用`set -e`开启退出错误检查,当命令执行失败时脚本会立即终止。`echo`和`printf`用于输出调试信息,`set -x`则...

    实验报告2_shell及shell编程.doc

    在Linux或Unix系统中,Shell是用户与操作系统交互的界面,Bash是最常用的Shell之一。 1. **Bash配置文件**: - `/etc/profile`:系统级的初始化文件,对所有用户生效。 - `$HOME/.bash_profile`:用户的个人配置...

    89.嵌入式操作系统--成绩统计管理系统.docx

    在本次实训中,学生将利用VMware虚拟机和Ubuntu 12.04操作系统,通过编写Shell脚本来创建一个学生成绩统计管理系统。这个系统旨在提高成绩管理的效率,提供友好的用户交互界面,并实现一系列成绩处理功能。以下是...

    实验2-shell及shell编程.doc

    ### 实验2-shell及shell编程知识点详解 #### 一、实习目的 - **学习 shell 的功能及相关配置文件**: - 了解 shell 的基本概念及其作为 Linux/Unix 系统的用户界面的作用。 - 掌握 `/etc/profile`、`$HOME/.bash...

    shell成绩管理系统

    Shell脚本是一种在Unix/Linux操作系统中用于自动化任务的编程语言,它基于Bourne Shell或其派生版本,如bash。在这个"shell成绩管理系统"中,我们可以推测作者试图创建一个简单的命令行工具,用于管理学生分数、专业...

    基于嵌入式系统设计的Shell编程

    Shell编程是嵌入式系统设计中不可或缺的一部分,它为用户提供了与操作系统交互的界面。在嵌入式系统开发过程中,Shell编程通常被用来编写自动化脚本,用于控制硬件设备、管理文件系统、实现网络通信等任务。Shell...

    shell浅谈之十函数.docx

    本文将深入探讨Shell函数的基本概念、定义、参数传递以及如何使用它们。 一、函数概述 Shell函数是一组命令的集合,用于封装特定功能。在Shell中,函数的定义是平行的,意味着不能在函数内部定义其他函数,但函数间...

    详细介绍Linux-shell脚本基础学习

    /bin/sh`是一个约定标记,用于告知系统此脚本应使用哪种Shell来解释执行。例如: ```bash #!/bin/sh ``` 在创建脚本文件时,可以使用文本编辑器如`vi`或`vim`来编写脚本。文件的扩展名通常为`.sh`,但这并不是强制...

    实验2-shell及shell编程.docx

    Bash 提供了函数和点命令,函数可以将一系列命令组合成一个单元,点命令可以将一个文件的内容读取到当前 shell 中。 三、 实习内容 1. 练习课本中有关 shell 的命令 本实验中,我们将练习 Shell 的基本命令,例如...

    shell学习心得

    Shell脚本是用Shell语言编写的程序,通过一系列命令来实现对系统的自动化操作或控制。 #### Shell编程的重要性 Shell编程对于系统管理员和高级用户来说至关重要。它能够极大地提高工作效率,减少重复劳动。Shell...

    Linux-Shell用法详解(推荐文档).ppt

    Linux Shell 是一种命令行解释器,它作为用户与操作系统内核之间的接口,允许用户通过输入命令来执行系统操作。Shell不仅提供了与系统交互的基本功能,还可以进行数据统计、服务监控和自动化任务。在Linux世界中,...

    shell 脚本(含图书管理系统)

    在这个“shell脚本(含图书管理系统)”的压缩包中,我们可以期待找到一些基础到进阶的Shell脚本示例,特别是关于一个图书管理系统的实现。 首先,让我们来理解一下Shell脚本的基本概念。Shell是操作系统的命令解释...

    Linux&SHELL;基本知识笔试试卷

    - 使用 `sh $shell_script` 或 `./$shell_script` 来在一个新的子 shell 中执行脚本。 #### SHELL 脚本结构 - **知识点**:SHELL 脚本的基本结构包括: - 循环结构:例如 `for`、`while` 循环。 - 选择结构:...

    shell设计入门.TXT shell设计入门

    Shell有多种类型,其中最常见的是Bash Shell(Bourne Again SHell),它是在Unix及类Unix系统(如Linux)上广泛使用的Shell之一。 ### Bash Shell的特点 - **兼容性**:Bash Shell向后兼容早期的Bourne Shell,并且...

Global site tag (gtag.js) - Google Analytics