zoukankan      html  css  js  c++  java
  • Linux命令——vi、cut、tr、wc、sort、uniq

    vi 和 vim

    ^跳转当前行第一个非空字符

    Ctrl + b向下翻页

    Ctrl + f向上翻页

    Shift + % 找到()[] {},以及在括号之间来回切换

    全局替换

    一次性替换文件中的所有出现的旧文本命令格式如下:

    :%s/old/new/g

    可视区域替换

    先选中要替换文字的范围命令格式如下:

    :s/old/new/g

    确认替换

    把上面的g替换成gc

    y-yes 替换
    n-no不替换
    a-all替换所有
    q-quit 退出替换1-tast 最后一个,并把光标移动到行首E向下滚屏
    ^Y向上滚屏

    打开文件的时候直接定位到最后一行 :       vi file +

    打开文件的时候定位到指定行:                   vi file +num

    以只读方式打开(0),直接编辑(E),恢复(R),删除交换文件(D),退出(Q),中止(A)

    保存并退出:  :wq 或者 :x  或者 ZZ(注意大写)

    vim搜索设置高亮 set hlsearch

    多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来

    2. 按大写字母I,再插入注释符,例如//

    3. 按esc键就会全部注释了

    取消多行注释:

    1. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列

    2. 按字母j,或者k选中注释符号

    3. 按d键就可全部取消注释

     

    sp:上下分屏,后可跟文件名

    vSp:左右分屏,后可跟文件名
    Ctr+W+W:在多个窗口切换

     

    vim折叠

    :set fdm=marker 设置折叠模式

    syntax (不常用)语法高亮折叠,在c/c++中会折叠花括号部分,其它格式代码中有的不能自动折叠。
    marker (常用)标记折叠方法,如上面1-6所使用的方法。关闭vim折叠信息不会丢失,而且易用控制和标注

    zo 打开光标下的折叠。
    zO 打开光标下的折叠,以及嵌套的折叠。
    zc 关闭光标下的折叠。
    zC 关闭光标下的折叠,以及嵌套的折叠。

    cut

    使用冒号分割 passwd文件 显示第1 3至5列

    cut -d: -f 1,3-5 /etc/passwd
    View Code

    使用空格分割文件 显示1-2列 将标准输出重定向到新的文件

    cut -d' ' -f 1-2 users >user2
    View Code

    https://www.cnblogs.com/Spiro-K/p/6361646.html

    tr

    translate  翻译 转化  能够把文件中指定的字符进行替换

    该命令后面只能使用标准输入重定向

     使用A替换users文件中的e字符

    tr 'e' 'A' < users
    View Code

    删除users文件中的空格

    tr -d ' ' < users
    View Code

    删除users文件中的a字符

    tr -d 'a' < users
    View Code

    查看passwd后两行的1,3列,并将:替换成空格

    [root@51cto ~]# tail -2 /etc/passwd | cut -d: -f 1,3| tr ':' ' '
    sshd 74
    wangyan 500
    View Code

    wc

    word count 字数统计 可以统计文件的行数 单词数 字符数量

    -l:     只统计行数

    -w:   统计单词数

    -c:   统计字符数量

    [root@51cto ~]# wc /etc/passwd -l
    20 /etc/passwd
    [root@51cto ~]# wc /etc/passwd -w
    26 /etc/passwd
    [root@51cto ~]# wc /etc/passwd -c
    899 /etc/passwd
    [root@51cto ~]# wc /etc/passwd 
     20  26 899 /etc/passwd
    View Code

    sort

    对文本中的行进行排序

     users文件的行进行排序输出 升序

    [root@WebServer ~]# sort users
    View Code

    users文件的行进行排序输出 降序  -r

    [root@WebServer ~]# sort -r users
    View Code

    使用空格把users文件分割 使用第3列排序 -k -t

    [root@WebServer ~]# sort -t" " -k3 users
    View Code

    -u:去掉重复行 

    使用空格把users文件分割 使用第3列排序

    [root@WebServer ~]# sort -t" " -k3 -u users
    View Code

    -n:按数值排序 而不是按字符排序

    [root@WebServer ~]# sort -t" " -k3 -n users
    View Code

    uniq

    unique 唯一  针对文本中的挨着的连续的重复行进行操作

    连续重复的行只显示一行

    [root@51cto ~]# uniq uniqtest
    wang student 23
    han teacher 38
    liu teacher 29
    zhang student 23
    wang student 23
    View Code

    只显示重复的行

    [root@51cto ~]# uniq -d uniqtest 
    wang student 23
    View Code

    显示全部重复的行

    [root@51cto ~]# uniq -D uniqtest
    wang student 23
    wang student 23
    View Code

    显示重复次数

    [root@51cto ~]# uniq -c uniqtest
          2 wang student 23
          1 han teacher 38
          1 liu teacher 29
          1 zhang student 23
          1 wang student 23
    View Code
  • 相关阅读:
    win7服务器从本地粘贴的文件,粘贴卡死
    AOP面向切面编程
    静态代理和动态代理
    查询数据库中第n行数据
    记录我的成长
    路径总和,双重递归
    java Queue 常用方法(持续更新)
    对称二叉树
    Linux学习之五——Linux虚拟机文件系统
    Linux学习之四——命令运行机制及查看命令帮助
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9109845.html
Copyright © 2011-2022 走看看