一些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程序,是不是很邪恶啊,哈哈~~~ 不过我只是干过一次 ...
随机推荐
- poj2299解题报告(归并排序求逆序数)
POJ 2299,题目链接http://poj.org/problem?id=2299 题意: 给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列. 思路: 其实就 ...
- Log4Net之初步了解
原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/log4net%E4%B9%8B%E5%88%9D%E6 ...
- 关于cmd模式下切换目录
cmd下切换目录: 经常犯下的错误一: 在默认路径下输入 cd D: 想切换到D盘但是会出现上面的现象. 正确的的做法是直接输入要转移到的盘符: D: 就可以了. 在这种情况下再输入cd D:
- Leetcode 338. Counting Bits
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the ...
- css cursor url用法格式详解
css cursor url用法格式:css:{cursor:url('图标路径'),auto;} //IE,FF,chrome浏览器都可以 实例代码:html{cursor: url("h ...
- CSS3秘笈第三版涵盖HTML5学习笔记13~17章
第13章,构建基于浮动的布局 使用的是float(浮动)属性 注:float:none值将取消所有浮动,通常只用来取消元素中已经应用的浮动. 切记:不需要给正文的div设计宽度,即使设计成固定宽度也不 ...
- Contoso 大学 - 10 - 高级 EF 应用场景
原文 Contoso 大学 - 10 - 高级 EF 应用场景 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Micros ...
- Visual Studio 2012下Box2D开发环境设置
Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同.由于本书在此之前介绍的都是基于微软的 ...
- 手机看youtube的方法|一个好用的VPN
俗话说:网络无国界.但是由于天朝的限制,我们无法访问YouTube .谷歌.twitter等一些国外网站. 这个时候我们就需要FQ.最直接有效的方法就是:VPN(虚拟专用网络). 虚拟专用网络的功能是 ...
- javascript的排序算法
已经准备秋招一段时间了,因为这个关系也在各种巩固知识,顺便整理一下一些东西.这篇文章就是自己整理了一下各种JS的排序算法,以便自己以后回顾. 冒泡排序 function bubbleSort(arr) ...