一些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程序,是不是很邪恶啊,哈哈~~~ 不过我只是干过一次 ...
随机推荐
- Asp.Net 之 调用分享接口
一.后台分享方式 腾讯QQ.腾讯空间.腾讯微博.新浪微博分享接口,如下: 注意:在网站对接前,请先申请注册好您的QQ登录appid.新浪登录Appkey.腾讯微博appkey. //腾讯QQ分享 ht ...
- 使用c3p0连接池
首先我们需要知道为什么要使用连接池:因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉,每次新建连接都需要140毫秒左右的时间而C3P0连接池会池化连接,随 ...
- css笔记03:伪类first-child
1. 匹配第一个 <p> 元素 在下面的例子中,选择器匹配作为任何元素的第一个子元素的 p 元素: <html> <head> <style type=&qu ...
- Mina的线程模型
在Mina的NIO模式中有三种I/O工作线程(这三种线程模型只在NIOSocket中有效,在NIO数据包和虚拟管道中没有,也不需要配置): IoAcceptor/IoConnector线程 IoPro ...
- 使用GBK编码请求访问nodejs程序报415错误:Error: unsupported charset at urlencodedParser ...
最近遇到一个问题,第三方用户向我们提供给的回调地址发送请求时一直报415错误,结果发现他们使用的是GBK编码请求,而我们使用的node + express4 程序,不支持GBK编码请求. 问题出在下面 ...
- Python内存解析浅学
1.内存管理 首先理解变量,和内存特性 1. Python中无须声明变量, 2. 无须指定类型 3. 不用关心内存管理 4. 变量名会被回收 5. ...
- 使用CSS实现一个简单的幻灯片效果
方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html&g ...
- MyBatis(3.2.3) - Configuring MyBatis using XML, Settings
The default MyBatis global settings, which can be overridden to better suit application-specific nee ...
- Lombok(1.14.8) - @Getter, @Setter, @ToString, @EqualsAndHashCode & @Data
@Getter / @Setter @Getter 和 @Setter,分别实现了 Gette r和 Setter 方法. package com.huey.hello.bean; import ja ...
- namenode无法启动(namenode格式化失败)
格式化namenode root@node04 bin]# sudo -u hdfs hdfs namenode –format 16/11/14 10:56:51 INFO namenode.Nam ...