一些shell脚本实例
在群里也混了不少时间了.总结一些实例
#统计QQ消息里面某个用户改名字的记录
# awk -f
# 聊改名字记录
#特殊例子 例如
#2013-11-28 9:23:56 北京-AA-Vip<123456789@qq.com>
#2013-11-28 9:23:42 中山-BB(10570765)
/^[-]+ [-:]+ [<(].*[>)] ?$/{
next
} /^[--]+ [-:]+ .*[<(].*[>)] ?$/{
QQ=gensub(/^[--]+ [-:]+ [^(<]*[(<]([^)>]*)[)>]/,"\\1",$)
NAME=gensub(/^[--]+ [-:]+ ([^<(]*)[<(].*/,"\\1",$)
if(A[QQ]==""){
A[QQ]=NAME
next
}
if(QQ in A){
if(A[QQ]!=NAME){
print QQ" :\t\t"A[QQ]," ==> ",NAME
A[QQ]=NAME
}
}
}
0,1,2,10,22,00,01,2,3,33
得出下面的结果
00,01,02,10,22,00,01,02,03,33
方法1:
echo '0,1,2,10,22,00,01,2,3,33' | awk -vRS=, '{printf("%02d,",$1)}END{printf("\b")}'
方法2:
echo "0,1,2,10,22,00,01,2,3,33" | awk -vRS=, 'BEGIN{a=""}{b=sprintf("%02d",$0);a=a?a "," b:b;}END{print a}'
求数值N以内的质数和
awk -vmax= 'BEGIN{nomax=0;yesmax=0;for(i=2;i<=max;i++){for(j=2;j<=sqrt(i);j++){if(i%j==0) break};if(j>sqrt(i)) yesmax+=i;else nomax+=i;}; print "非质数和=" nomax " 质数和=" yesmax}'
有关字符串截取总结
PS:大叔总结的很是经典,特在此记录
看大键盘,$是字符串调用,左面的#就是左面操作,右面的%就是右面操作
一个符号是最小匹配,两个符号是最大匹配
例:
tsbill:/work21>a="1/2/3/4/5"
tsbill:/work21>echo ${a#*/}
///
tsbill:/work21>echo ${a##*/} tsbill:/work21>echo ${a%/*}
1/2/3/4
tsbill:/work21>echo ${a%%/*}
1
有关grep中正则表达式和通配符的注意事项
在文本过滤工具里,都是用正则表达式,比如像awk,sed,等,是针对文件的内容的。 使用正则的时候需要添加-E选项 而通配符多用在文件名上,比如查找find,ls,cp,等等。
一些shell脚本实例的更多相关文章
- 分享7个shell脚本实例--shell脚本练习必备
概述 看多shell脚本实例自然就会有shell脚本的编写思路了,所以我一般比较推荐看脚本实例来练习shell脚本.下面分享几个shell脚本实例. 1.监测Nginx访问日志502情况,并做相应动作 ...
- shell脚本实例,通向shell脚本大师的必经之路
概述 读书百遍其义自见,shell脚本也是,只要例子看得多了,自然就知道怎么写了.这里主要整理了20几个例子,因为内容比较多,所以分了几次来做介绍了.下面的实例最好先自己思考怎么去实现,然后再看下实现 ...
- shell脚本实例-系统监控
shell脚本监控网站并实现邮件.短信报警shell进程监控脚本(发送邮件报警)Shell脚本监控服务器在线状态和邮件报警的方法 http://www.jbxue.com/jb/shell/ 11. ...
- shell脚本实例
备注:一些与传递给shell的参数相关的变量:$# 命令行参数的个数$? 调用命令的返回值$$ 当前进程的进程号$! 最后一个后台命令的进程号$0 命令行的第一个参数,也就是命令名$n 命令行的第n个 ...
- shell脚本实例一,移动文件夹中大于2000B的文件到另一个文件夹
shell脚本能帮我们简化linux下的一些工作,现在有个需求,把TMPA文件夹下大于2000B的文件都移动到TMPB下 #! /bin/bash function movefiles() { ` d ...
- shell脚本实例一
一. 什么是shell 脚本时一种解释性语言: shell脚本保存执行动作: 脚本判定命令的执行条件 脚本来实现动作的批量执行.二.如何创建 vim test.sh ##shell脚本一般都 ...
- shell脚本实例-mysql多机部署
今天我给大家分享shell 安装mysql 多机部署的实例,本次实验是基于各个主机的公钥已经配置好了,如果还不会推送公钥的同学,可以看看我以前写的文章,那里面有写推公钥的实例,mysql 多机部署一般 ...
- shell脚本实例-菜单样例
1.9.1 实例需求 用户在进行Linux系统管理的过程中,经常需要用到查看进程的信息.用户的信息等常用的功能.本例针对这一需求,使用shell编程实现基本的系统管理 功能.通过本程序,可以按照要求实 ...
- shell脚本实例(2)
1.传给脚本一个参数:目录,输出该目录中文件最大的,文件名和文件大小 #!/bin/bash if [ $# -ne 1 -o ! -d $1 ];then echo "Args is er ...
- 【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程
我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~ 不过我只是干过一次 ...
随机推荐
- c# 操作word
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- akw、grep、sed常用命令
awk 求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 平均值 cat data|awk '{sum+=$1} END ...
- JavaScript开发之路02(Sencha Touch使用时常见问题及解决办法)
1.Sencha中使用组件后通过layout: 'vbox'指定页面布局为垂直盒布局并且组件的高度采用height: '百分比'指定时,组件的背景色通过style: 'background:#F6F6 ...
- 使用Hibernate框架技术时,对项目进行的配置
1.在需要使用Hibernate框架技术的项目上单击鼠标右键,在弹出的菜单中选择MyEclipse-->Add Hibernate Capabilities,打开Add Hibernate Ca ...
- saltstack实战3--配置管理之grains
grains是什么 grains是minion服务启动后,采集的客户端的一些基本信息,硬件信息,软件信息,网络信息,软件版本等.你可以在minion上自定义一些grains信息. 它是静态的信息,mi ...
- Spring(3.2.3) - Beans(4): p-namespace & c-namespace
p 命名空间 p 命名空间允许你使用 bean 元素的属性而不是 <property/>子元素来描述 Bean 实例的属性值.从 Spring2.0 开始,Spring 支持基于 XML ...
- 在Delphi中,关于数组名称
动态数组数组名代表的是第一个元素的内存地址. 静态数组名称代表的是数组第一个元素的内存位置, 而不是数组第一个元素的内存地址. 但对于静态数组,在某些情况下编译器可能会自动取数组地址,如: funct ...
- Unity3d导入工程出现错误“Creating unique file”的解决方法
Unity3d导入工程出现错误“Creating unique file:creating file Temp/tempFile failed.Please ensure there is enoug ...
- 转 Android中this、super的区别
在Java中,this通常指当前对象,super则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目 的,当然,this的另一个用 ...
- python学习day5--set、函数
1.set 无序,不重复序列 创建:与dict一样用{},区别在于dict内元素为键值对 se={"123","456,444"} print(type(se) ...