`
DiaoCow
  • 浏览: 241787 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
这周写了两个脚本,不算太难,但是每一个都让我有所感悟..... 第一个脚本是这样的:分析一个12G大小的 apache cookie_log,从中删选出指定数据然后分析统计 我的原先做法是: sed 's/.../../' | awk '{...}' ,即先用sed命令对数据进行替换 ...
最近工作中使用到Stomp协议,现在做个总结! Stomp是一个简单的消息文本协议,它的设计核心理念就是简单与可用性,官方文档:http://stomp.github.com/stomp-specification-1.1.html 现在我们就来实践一下Stomp协议,你需要的是: 1.一个支持stomp消息协议的messaging server(譬如activemq,rabbitmq); 2.一个终端(譬如linux shell); 3.一些基本命令与操作(譬如nc,telnet) 1.建立连接 当我们(Client端)向服务器发送一个CONNECT Frame,就向服务器发起了一个 ...

初窥Java线程池

    博客分类:
  • Java
如何创建一个线程(两种方式) 方式一:继承Thread类,覆写run方法 public class Test { public static void main(String[] args) { Thread thread = new ThreadDemo(); thread.start(); } private static class ThreadDemo extends Thread { @Override public void run() { ...
今天逛博客看到一篇不错的文章:http://syzxlyx-cu.iteye.com/blog/1683822 自己也man了一下命令详细,现总结如: split文件分割 $ ls -lh testfile -rw-r--r-- 1 80 admin 2.8M Sep 23 07:43 testfile # testfile 2.8M 常用分割方式: split -b 500k testfile pec # -b参数表示,按大小分割,每个文件500k (其他可用的大小参数还有b(字节),m(兆)) # testfile 表示需要分割的文件 # pec 表示分割 ...
之所以开始学习shell编程,学习linux命令都是从awk开始,它给予了太多美好的感觉以及回忆(虽然目前还只是一个入门级别的选手); awk看似一个命令(听起来很酷,像AK47一样),但他其实就是一门编程语言(和C风格很像),下面我就列举一下,我学习过程中比较好的资料: 1.<<The awk programming language>>(附件可下载) 这本书真的很不错,看它的时候仿佛又回到了大学时代看<<The C programming language>>是的那种激动,虽然我只看了前面两章,但是已经收益匪浅,现强烈推荐!!! 2.非 ...
每次查询单词,都需要打开一个网页,然后粘帖需要查询的单词,很是麻烦,所以就写了一个脚本执行这些简单,繁琐的工作! 直接上代码: #!/bin/bash ############################ # # 单词查询脚本 # # 用法: word.sh apple # # 2012-09-19 diaocow # ############################# # 检查脚本参数 if (($# == 0 )); then echo "please input a word !" exit 1 fi ...
我只想说一句,当你对sed命令越熟悉时,会越发的觉得sed命令的强大。 本来是想自己做下总结的,但是觉得自己写的总结远没有这些资料好,还需要在沉淀一些; 下面就列一下我学习sed命令看到的比较好的资料 (请用BIG5编码打开看) http://phi.sinica.edu.tw/tyuan/old.pages/pcfarm.19991228/aspac/aspac/reports/96/96005/ 看完这个,我想你应该能对sed命令,有个全面的了解并且能够用它解决工作中的绝大部分问题 如果想进阶使用sed,你不得不去了解下patterspace和holdspace,然后你会将sed ...
在web开发中,我们经常需要切换hosts绑定,比较好用工具火狐插件:hostAdmin. 今天突发奇想(最近看了很多shell,也想锻炼一下),仿照hostAdmin写了一个shell脚本,目前运行良好。 #!/bin/bash ############################## # 切换hosts的工具类 swich hosts # # --------hosts 文件格式-------- # ==offline # ip list... # ==offline # # ==online # ip list... # ==online ...
通常我们将一些命令写在一个文件中就算是一个shell脚本了,但是如果需要执行更复杂的逻辑判断,我们就需要流程控制语句来支持。现在我就总结一下shell流程控制语句语法以及常用形式(我一直觉得没有必要什么都学,而是用自己擅长的方式去解决所有遇到的问题) 1.if条件 if 条件; then #statements1 else #statements2 fi 这里的条件通常是一个命令,当命令的退出状态码返回0,表示条件为真,这时候执行statements1,否则执行statements2 我们看一个例子(判断字符串中是否包含指定字符): str="hello world& ...
linux有很多命令可以对字符串进行操作,譬如awk,sed,但是在shell脚本如果能使用bash内建的操作符完成操作就尽量不要使用外部命令,因为外部命令通常都需要fork出一个单独的进程来执行,这会降低脚本执行效率; 1.获取字符串长度 bash语法:${#字符串} $ str="hello world" $ echo ${#str} 11 我们用awk实现同样的功能 $ str="hello world" $ awk -v s="$str" 'BEGIN {print length(s)}' #注意$str两边的双 ...
今天我们来学习下test命令,参考文档:man test和info test (这两个真是个好东东!!!) 1.test命令是做什么的? test命令是用来检查文件(类型或权限等等)以及比较值(可以是字符串也可以是数值)的工具; 2.test命令一般形式: test EXPRESSION(表达式) 若表达式为真,test返回0; 若表达式为假,test返回1; 若命令出错,test返回2; 若表达式省略,test默认返回1; 我们先看几个例子,感性认识下 3.我们详细看下test命令的比较参数 a.字符串比较: -n STRING # 若STRING长度>0返回true ...
1.如何使匹配的字符高亮? grep命令默认输出是匹配行而不是仅仅给出匹配的字符,所以当文本行较长而需要匹配的内容较短时,我们仍需费力的找出匹配字符,但是如果有高亮显示,那就大大地不同了: 通过增加--color=auto参数,我们可以使匹配的结果高亮: 但是如果我们每次使用grep命令都加这个参数是不是又太麻烦了?,这时候我们可以设置alias来解决: 如上图所示,只要在.bashrc个人配置文件中加入alias命令即可(设置好以后需要重新开个终端才能使新的配置文件生效) 2.grep常用参数 -n:显示匹配行所在的行数 -i:忽略大小写比较(find命令中也有 ...
1.crontab命令是什么? 用来定时在后台执行任务的命令 2.crontab命令语法 分 时 日 月 星期 命令 分钟的取值范围是1~59 小时的取值范围是1~23(0表示子夜) 天数的取值范围是1~31 月份的取值范围是1~12 星期的取值范围是0~6(0表示星期天) #注意命令必须是全路径 eg.20 5 * * * /home/diaocow/hello_cron.sh 该命令表示每天5:20执行家目录下hell_cron.sh脚本 在表示时间的时候可以使用额外的符号: -:该参数表示一个范围,譬如在日期那列1-5表示星期一到星期五 ,:该参数列举可以取得值,譬如在月 ...

初窥LinkedList

    博客分类:
  • Java
1.LinkeList概述: // LinkedList内部维护着一个双向循环链表,它保存着头指针引用 private transient Entry<E> header = new Entry<E>(null, null, null); 其中Entry是LinkedList的内部类,代表着链表上的一个节点元素: private static class Entry<E& ...
今天同事让我把一些文件发给她,并且把这些文件的后缀都改成html,考虑到文件数量较多,手工改肯定不行,所以就写了个脚本: #!/bin/bash ######################################### # # 批量修改文件后缀 # # 运行方式:changeFileSuffix.sh vm html # # diaocow 2012-08-02 # # ######################################### #原始后缀名 oriSuffix=$1 #新的后缀名 newSuffix=$2 if [ ...
Global site tag (gtag.js) - Google Analytics