使用awk将子网掩码转换成前缀表示,以下是完整代码,供参考: 复制代码 代码如下: #!/usr/bin/awk-f { num=gsub(255.,) gsub(.0,) mask=$0-0 for(i = 0;mask 0;i++) if (mask % 2^(7-i) == 0){ i++ break } else mask -= 2^(7-i) sum = 8*num + i print sum...
shell通用接口文件 导入数据库的代码。 复制代码 代码如下: #!/sbin/sh #------------------------------------ ## 名称: infuser_load.sh ## 描述: 通用接口文件 导入数据库 ## 参数: owner table_name ## 作者: xxx ## 日期: 2011-03-04 #----------------...
shell中字符串处理的常用方法,很全面很常用,分享出来,供大家学习参考。 一、构造字符串 直接构造 STR_ZERO=hello STR_FIRST=i am a string STR_SECOND=success 重复多次 复制代码 代码如下: #repeat the first parm($1) by $2 times strRepeat() { local...
awk提供了许多强大的字符串函数,这里作个记录,以备将来使用。 awk内置字符串函数 gsub(r,s) 在整个$0中用s替代r gsub(r,s,t) 在整个t中用s替代r index(s,t) 返回s中字符串t的第一位置 length(s) 返回s长度 match(s,r) 测试s是否包含匹配r的字符串 split(s,...
true 是 bash 的内建命令,它的返回值($? 的值)是 0(代表执行成功)。和 true 相对应的命令是 false 命令,它也是 bash 的内建命令,它的返回值是 1(代表执行失败)。 true 和 false 这两个命令常用于在 script 中作为空命令来执行;或者表示一个总是返...
shell中的case语句: 可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。 使用格式: case 匹配母板 in 模板1 [ | 模板2 ] ) 语句组 ;; 模板3 [ | 模板4 ] ) 语句组 ;; esac case语句的匹配是从上往下地匹配顺序。因此,ca...
使用shell在一个字符串中插入符号的三种方法 例如,要在字符串:20061121164330中插入符号,使之变成日期格式:2006-11-21 16:43:30,可以有如下的几种方法可供参考。 方法一: 复制代码 代码如下: #echo 20061121164330 | sed -r s/^(.{4})(.{2})(.{2})(.{2}...
检测Mysql健康状况的shell脚本 复制代码 代码如下: #!/bin/bash MYSQL=/usr/bin/mysql MYSQL_HOST=localhost MYSQL_USER=root MYSQL_PASSWORD=123456 MySQL_LOG_PATH=/tmp/mysqlheal.log CHECK_TIME=3 #mysql is working MYSQL_OK is 1 , mysql down MYSQL_O...
读取文件并更新到数据库中的shell脚本,使用awk赋值给外部变更。 复制代码 代码如下: #!/bin/bash FILE=20121224_Finaldatapm.csv MYSQL=/usr/local/mysql/bin/mysql USER=root PASSWD=root DB=ITIMS while read i do eval $(echo $i|awk-F, { printf(a=%s\n...
shell可以不调用第三方命令,表示不同进制数据。 shell脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头。 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以0x 开头就是16 进制数。 使用 BASE#NUMBER 这种形式可以表示其它...
本文举了一些shell中字符串相关的操作例子,包括查询字符串所在的行号、查找字符串首次匹配的行号、提取字符串所在的行号、比较两次字符串行号变化幅度等。 一、查询字符串所在的行号 grep -n xxx str.txt # -n 打印字符 xxx 在文件 str.txt 所在的行数前缀...
expr命令一般用于整数值,但也可用于字符串。一般格式为: expr argument operator argument expr也是一个手工命令行计数器。 $expr 10 + 10 20 $expr 1500 + 900 2500 $expr 30 / 3 10 $expr 30 / 3 / 2 5 (注意运算符左右都有空格 ,如果没有空格表示是字...
用于判断字符串之间是否存在包含关系的shell脚本,有需要的朋友拿去。 复制代码 代码如下: #!/bin/bash var1=hello var2=he #方法1 if [ ${var1:0:2} = $var2 ] then echo 1:include fi #方法2 echo $var1 |grep -q $var2 if [ $? -eq 0 ] then echo 2:inclu...
UID是一个重要的环境变量,可以用于检查当前脚本是以超级用户还是以普通用户运行的。 例如: 复制代码 代码如下: #!/usr/bin/perl if [ $UID -ne 0 ]; then echo Non root user. Please run as root. else echo Root user fi 注:root用户的ID是0。...
可以用以下的方法获知当前使用的是哪个版本的shell: echo $SHELL 也可以用 echo $0 例如: 复制代码 代码如下: $ echo $SHELL /bin/bash $ echo $0 bash...
可以有以下的方法获得变量值的长度: length=${#var} 例如: 复制代码 代码如下: $ var=12345678901234567890 $ echo ${#var} 20 备注: 1)、主要是使用了shell中的特殊变量${#} 2)、length就是字符串所包含的字符数。...
shell判断文件,目录是否存在或具有权限的脚本。 复制代码 代码如下: #!/bin/sh myPath=/var/log/httpd/ myFile=/var /log/httpd/access.log #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x $myPath]; then mkdir $myPath fi #这里的-d...
一行命令去掉每行结尾的空格: sed -e s/[ ]*$//g 文件名 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容...
1. / (搜索)命令 2.:s/正则表达式/替换字符串/选项 3.元字符: . 匹配任意一个字符 [abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围, 如[a-z0-9]匹 配小写字母和阿拉伯数字。 [^abc] 在方括号内开头使用^符号,表示匹配除方括号中字符之外的任...
一个自动检测eth0网卡带宽脚本。 复制代码 代码如下: #!/bin/bash # network # 检测网卡eth0带宽 while : ; do time=`date +%Y-%m-%d %H:%M:%S` rx_before=`ifconfig eth0|sed -n 8p|awk{print $2}|cut -c7-` tx_before=`ifconfig eth0|sed -n 8p|awk{print...
sed 去shell中的注释,一条命令完成: sed /[ \t]*#/{/!\/bin\/bash/b; d} a.sh...
本文为大家介绍shell数组方面的一些操作,有需要的朋友可以参考下。 1.数组定义 [chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a 1 一对括号表示是数组,数组元素用空格符号分割开。 2.数组读取与赋值 得到长度: [chengmo@centos5 ~]$ ec...
查找并上传已更新文件的ftp脚本 tp脚本。 复制代码 代码如下: #!/bin/ksh ######################################################## #Date: 2012-12-19 #name: swiftftp.sh #decription: 无限循环,每1分钟执行一次,查找当前目录中修改时间超过1分钟但未超...
一个简单的系统监控脚本,有需要的朋友可以参考下。 复制代码 代码如下: #!/bin/bash time=`date +%Y-%m-%d %H:%M:%S` d=`date +%m%d` N=`ps -ef | grep httpd | grep -v grep | wc -l` Q=`ps -ef | grep java | grep -v grep | wc -l` [ -d /root/check_log...
有关shell重定向输出和 and 21 的介绍,供大家学习参考。 shell 和都是重定向输出 1 指标准信息输出路径 2 指错误信息输出路径 21 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起) 补充问题40: 和都是重定向输入 0指标准输入路径 40 指...
有时,我们需要列出脚本的行号,以使其看起来清晰明了。 以下代码,列出文件的行号,供大家学习参考。 复制代码 代码如下: #!/bin/sh # filename: line_file.sh function list_num () { FILENAME=$1 if [ $# -ne 1 ];then echo USEAGE: list_num arg ,arg is...
有时,我们可能需要在某段时间内以固定的间隔时间不断监视某一条命令的输出。例如,在复制大文件时,我们需要看到不断增长的文件的大...
cpu时间是一项重要的资源,有时,我们需要跟踪某个时间内占用cpu周期最多的进程。 在普通的桌面系统或膝上系统中,cpu处于高负荷状态也许不会引发什么问题。但对于需要处理大量请求的服务器来讲,cpu是极其重要的资源。 通过监视某个时期内cpu的使用情况,我...
例子: 重启filebeat 升级版 #!/bin/bash ps -ef|grep filebeat |grep -v grep|cut -c...
crontab是linux自带的计划任务程序,可以实现分,时,日,周,月。 但是crontab有两个...
我在 CU 的日子并不长,有幸在 shell 版上与大家结缘。除了跟众前辈学习到不少技巧之...
cpu时间是一项重要的资源,有时,我们需要跟踪某个时间内占用cpu周期最多的进程。 在...
介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介...
Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(k...