zoukankan      html  css  js  c++  java
  • [Linux]常用命令之【vi/grep/find】

    VI

    1 按行号显示文件文本

    替代性方案: cat -n 或 nl

    开启行号
          ESC键 + 输入(: set number)
    关闭行号
          ESC键 + 输入(: set nonumber)
    

    2 跳到指定行

    :$ 跳到文件最后一行
    :0 或 :1 跳到文件第一行
    

    其他操作

    恢复vi编辑时不正常退出的文件(将会自动生成.swp隐藏文件)
        vi -r <fileName>
        :wq
        rm -f <fileName.swp>
    :d 清空当前文件,后保存(:w)即可
        (等效于 cat /dev/null > file_name 或 echo "" > file_name【此法会在文件中写入1个空行“
    "】)
    :w 保存当前文件
    :w filename 保存当前文件(如果进入 vim 的时候没有指定要编辑的文件名,需要在保存文件的时候加上文件名 filename,如果进入 vim 的时候指定了 文件名,那么该用法相当于“另存为”)
    
    :q 退出当前正在编辑的文件
    :q! 强制退出当前正在编辑的文件并放弃最近一次保存到现在的所有操作
    :wq 保存文件并退出
    
    u 撤销最近一次操作。(按 Ctrl+r 恢复撤销掉的操作)
    i 在光标所在的位置前面插入字符
    a 在光标所在的位置后面插入字符
    o 在光标所在行的下一行插入新的一行
    O 在光标所在行的上一行插入新的一行
    x 剪切光标处所在的字符。(x 前可先按一个数字,则剪切若干个字符)
    dd 剪切光标处所在的一行。(dd 前可先按一个数字,则剪切若干行)
    yy 复制光标处所在的一行。(yy 前可先按一个数字,则复制若干行)
    
    :数字 跳转到指定行(:18 跳转到18行; :$ 跳到最后1行)
    p 将剪切板中的资料粘贴到光标所在处
    r 修改光标所在的字符,r 之后接跟你要修正的字符(比如你要把 fox 中 的 o 改成 i,只需将光标停在 o 上,接着连续按下 r 和 i)
    h 将光标向前移动一个字符
    j 将光标向下移动一个字符
    k 将光标向上移动一个字符
    l(小写的 L)将光标向后移动一个字符
    gg 跳到文本的最初一行
    G 跳到文本的最末一行
    
    Ctrl + u 向上(up)翻页
    Ctrl + d 向下(down)翻页
    
    :%s/old/new 将文件中所有的 old 字符串替换成 new
    
    /string 从光标处往下查找字符串 string,注意在输完你要查找的字符串 string。之后要按回车键。如果你要找的字符串 string 有多个,你可以按 n 将 光标跳到下一个位置,按 N 将光标跳到上一个位置
    
    ?string 跟上面的</string>是一样的,区别是它从光标处往上查找
    

    grep

    • 匹配多个关键字

    grep -E "word1|word2|word3" file.txt
    匹配 file.txt 中包含 word1 或 word2 或 word3 的行。
    满足其中任意条件(word1、word2和word3之一)就会匹配。

    ps -ef | grep apusic | grep -E "/opt/govern/wydataeye| /opt/govern/datasource | /opt/govern/wydataquality| /opt/govern/wytaskwatcher"
    

    find

    • 列出目标路径下,含有指定字符串的文件
    find <targetDirPath> -type f | xargs  grep -Hn --color=auto "<key-word>" 
    
    • 列出目标路径下,文件名含有指定字符的文件
    ll <targetDirPath> | grep "<key-word>" 
    或
    find <targetDirPath> -name "*<key-word>*" 
    

    参考文献

  • 相关阅读:
    BZOJ1076 [SCOI2008]奖励关 概率 状态压缩动态规划
    BZOJ1040 [ZJOI2008]骑士 基环树林(环套树) 树形动态规划
    洛谷1623 树的匹配 树形动态规划 高精度
    BZOJ1053 [HAOI2007]反素数ant 数论
    Vijos1906 联合权值 NOIP2014Day1T2 树形动态规划
    网络流24题 第五题
    网络流24题 第四题
    网络流24题 第三题
    网络流24题 第二题
    网络流24题 第一题
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13438246.html
Copyright © 2011-2022 走看看