Blog

  • grep进行筛选

    排除空行和#开头的行(grep -E 扩展正归表达式)

    cat x.xx | grep -Ev "^$|#"

    过滤多个条件,或的关系

    ps aux | grep 'httpd\|nginx'
    ps aux | grep -E "httpd|nginx"

    排除以#开头的行

    cat x.xx | grep -v ^#

    查看file1中空行的行号

    grep -n ^$ file1

    需要严格匹配,如筛选abc,不需要abcd,abcde,则使用-w –word-regexp

    grep -w "abc"

    或者

    grep "\<abc\>"

    管道加grep -i不区分大小写匹配

    lspci | grep -i ether
     04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)

    直接取出当前目录文件中含有conf的行

    grep -R 'conf' .

    grep 打印出前面before,后面after,周边around的几行

    cat file | grep -A 1 aaa
    cat file | grep -B 1 aaa
    cat file | grep -C 1 aaa
    

    高亮显示 grep 出来的字符

    cat aaaa | grep --color aaaa

    去掉指定的几个 pattern

    grep -v -e "pattern1" -e "pattern2"
    grep -Ev "pattern1|pattern2"
    

    对过滤的结果计数(行数)

    grep -c 'aaaa' filename

    当前目录找到有某些字符的行及文件

    grep -rn 'bbs' .

    当前目录找到有某些字符的文件

    grep -rl 'bbs' .

    只输出匹配到的文字

    不输出文件名

    grep -h 'my_variable' /data/code/*

    例:把所有子域名打印出来

    cat domain.txt | grep -Eo '(\w+.)+jpuyy.com'

    grep 所有 ip 地址

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}' .

    grep 所有的 ip 网段

    grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{1,2}' .

    grep 包含中文的文件

    grep -rl '[\u4e00-\u9fa5]'  .
    
  • excel批量删除空行的办法

    文章来自:http://www.ittribalwo.com/show.asp?id=1502

    从网上复制来的代码往往有很多空行,excel批量删除空行的方法有多种,视具体数据源不同,可以选择性的使用不同的方法。本文旨在对删除空行进行总结。

    excel批量删除空行方法一:

    方法是:选择包含需要删除的数据区域,比如A2:D10,然后按F5键,打开“定位”对话框,单击“定位条件”,打开“定位条件”对话框,选择“空值”,可以批量选择空行,然后单击右键,选择删除即可。

    excel批量删除空行方法二:

    我们可以在旁边的空白列输入1,然后下拉,作为辅助列。然后开启“筛选”,筛选“空白”,在筛选状态删除这些空白行,最后关闭筛选。

    excel批量删除空行方法三:

    如果工作表中有大量的空行,可以使用VBA代码实现。方法是:按ALT+F11,打开VBE编辑器,插入——模块,复制下面的代码,然后按F5键运行。

    Sub 批量删除空行()
     Dim LastRow As Long
     Dim r As Long
     LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
     Application.ScreenUpdating = False
     For r = LastRow To 1 Step -1
     If Application.WorksheetFunction.CountA(Rows(r)) = 0 Then Rows(r).Delete
     Next r
     Application.ScreenUpdating = True
    End Sub
  • CentOS6.2初始化操作

    CentOS安装gcc g++等编译环境(使用yum)

    yum groupinstall 'Development Tools'

    CentOS安装中文包

    yum groupinstall chinese-support

    CentOS 配置 ssh

    安装SSH

    yum install ssh

    启动SSH

    service sshd start

    设置开机运行

    chkconfig sshd on

    在hosts.deny文件尾添加sshd:ALL 意思是拒绝所有访问请求

    在hosts.allow文件尾添加sshd:192.168.0. 意思是允许192.168.0.1 到254的主机

    重启ssh

    /etc/rc.d/init.d/sshd restart

    安装locate

    yum install mlocate

    mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点: 每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快,对硬盘的占用也更少。这是 mlocate 特有的功能。安装好后就可以用locate和updatedb来快速查找文件了。

  • centos6.2基本iptables模版

    vim /etc/sysconfig/iptables

    # Generated by iptables-save v1.4.7 on Mon Mar 26 09:52:21 2012
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Mon Mar 26 09:52:21 2012

    -A 选项来附加(新增)规则到某条链

    -i 选项(interface「界面」之意)来指定那些符合或来自 lo(localhost、127.0.0.1)界面的封包

    -j(jump「跳至」)符合这条规则的目标动作

    -m 选项来装入一个模块(state)。state 模块能够查看一个封包并判断它的状态是 NEW、ESTABLISHED 抑或 RELATED。NEW 指进入的封包属于不是由主机初始化的新增连接。ESTABLISHED 及 RELATED 指进入的封包隶属于一条现存的连接,或者与现存的连接有关系。

  • 清除当前目录下的所有.svn文件

    有时要得到一个干净的程序目录,需要使用find结合xargs,将目录及子目录的.svn文件夹删除

    find . -type d -name ".svn" | xargs rm -rf

    同时也可以使用svn export命令

    如将当前的目录templets输出到/tmp/templets

    svn export templets /tmp/templets --force
  • 初到南京吃5块钱的蛋炒饭

    来南京一天了,找了一个估计只有六平米的小屋,300RMB,住的地方距工作的地方公交车也只有五站路,还算满意。

    南京生活就这样开始了,南京话听的懂,而且听起来比较舒服

    城市,就是城市,哪里都是一样的

    有人开着豪车可以无所事事,有人做着最底层的工作,拿着最少的钱

    我初到南京,找到住的地方后,我的习惯是在落脚点转一转,有超市,有银行,有菜市场,有各种小吃,有洗车修车店,有夫妻用品店。但这些大部分和我无关,第一天在超市买的东西吃,第二天就睡到的10点钟,出来找吃的,身上的钱不多,到了一个卖炒饭的地方,这个地方估计也就十平米左右,却有五六个人在吃饭。现在的生活水平是为了决定吃5块钱的,6块钱的还是吃7块钱的炒饭做着思想斗争,最后决定吃五块钱的蛋炒饭。

    5块钱的蛋炒饭成本几何?炒饭的师傅倒入油(大豆油,转基因的?),打入一个鸡蛋(真鸡蛋?),翻炒后倒入米饭(是不是毒大米),胡萝卜丝,青菜(多少农药?),翻炒,出锅。再送一碗有葱花(现在葱这么贵,你也真敢放)的汤。真不知道这样的蛋炒饭能挣多少钱,但是我却是没吃到一样真东西,在物价这么飞涨的时代,我却觉得我吃的全是假的东西,因为只有5块钱。这样的一份饭我估计至少要20块钱,真是要好好赚钱了,哪怕是为了自己和所爱的人能吃上正正经经的有营养又卫生的饭。