zoukankan      html  css  js  c++  java
  • shell技巧

    一、利用xargs -I进行文件(只有一列)转置(列变行)

    cat inputfile | xargs -I {} printf {}"	"
    #是将读取到的一行作为一个参数传递给后边的命令

    二、删除当前目录下不包含关键词的文件

    #如当前目录下有许多文件及文件夹,但有个含有.json的文件,我不想删除,只想删除不包含*.json的文件及文件夹
    ls -I *.json #只列出不包含.json的文件及文件夹,注意I参数的使用
    ls -I *.json | xargs -I {} rm -rf {}
    

     

    三、对于匹配到关键词的前后行的操作

    ##打印出匹配到关键词的前一行和后一行
    
    #sed
    #We have a input file:
    << Flag
    123343242
    AAAAAAAA
    343243243
    BBBBBBBB
    139883857
    CCCCCCCC
    395783749
    DDDDDDDD
    Flag
    
    sed -n '/BB/{n;p}' input#打印出匹配到BB的下一行
    #139883857
    sed -n '/BB/{n;n;p}' input#打印出匹配到BB的下下一行
    #CCCCCCCC
    
    sed -n -e  '/BB/{n;p;n;p}' input#匹配到BB,打印下两行
    #139883857
    #CCCCCCCC
    
    sed -n '/BB/{g;1!p;};h' input#匹配到BB,打印上一行
    #343243243
    
    #grep
    grep -A1 'BB' input #-A after,下一行
    #BBBBBBBB
    #139883857
    
    grep -B1 'BB' input #-B before,上一行
    #343243243
    #BBBBBBBB
    
    grep -C1 'BB' input#-C上下行,当然其中的数字可以换成2,3,。。。
    #343243243
    #BBBBBBBB
    #139883857
    

    四、vi编辑文件时空格和tab的替换

     在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:

      set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)

      set expandtab

     对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:

      TAB替换为空格: 

      :set ts=4
      :set expandtab
      :%retab!

       空格替换为TAB:

      :set ts=4

      :set noexpandtab

      :%retab!

    五、查找空文件

    find . -name "*".txt -type f -size 0c
    
  • 相关阅读:
    sql server 检测是否更新并输出更新的数据
    SQL Cross Join
    使用editplus删除 telepro的标记
    201671010104 初学Java的感想以及认知
    201671010104学习Java心得
    201671010104学习Java程序设计进度条
    从 URL 调用 WebService
    初识 Adobe AIR
    Adobe AIR 初体验:第一个Adobe AIR 的项目
    Float元素父容器在Firefox中自动撑大的方法
  • 原文地址:https://www.cnblogs.com/always-fight/p/9112016.html
Copyright © 2011-2022 走看看