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 ,- /etc/passwd

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

cut -d' ' -f - users >user2

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

tr

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

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

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

tr 'e' 'A' < users

删除users文件中的空格

tr -d ' ' < users

删除users文件中的a字符

tr -d 'a' < users

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

[root@51cto ~]# tail - /etc/passwd | cut -d: -f ,| tr ':' ' '
sshd
wangyan

wc

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

-l:     只统计行数

-w:   统计单词数

-c:   统计字符数量

[root@51cto ~]# wc /etc/passwd -l
/etc/passwd
[root@51cto ~]# wc /etc/passwd -w
/etc/passwd
[root@51cto ~]# wc /etc/passwd -c
/etc/passwd
[root@51cto ~]# wc /etc/passwd
/etc/passwd

sort

对文本中的行进行排序

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

[root@WebServer ~]# sort users

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

[root@WebServer ~]# sort -r users

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

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

-u:去掉重复行 

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

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

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

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

uniq

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

连续重复的行只显示一行

[root@51cto ~]# uniq uniqtest
wang student
han teacher
liu teacher
zhang student
wang student

只显示重复的行

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

显示全部重复的行

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

显示重复次数

[root@51cto ~]# uniq -c uniqtest
wang student
han teacher
liu teacher
zhang student
wang student

Linux命令——vi、cut、tr、wc、sort、uniq的更多相关文章

  1. 010 Linux 文本统计与去重 (wc 和 uniq)

    wc 命令一般是作为组合命令的一员与其他命令一同起到统计的作用.而一般情况下使用wc -l 命令较多. uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用.一起组合搭配使用完成统计 ...

  2. 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)

    问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...

  3. linux命令---vi编辑器快速定位行数

    linux命令—vi编辑器快速定位行数.删除当前行.和删除当前行后面的全部内容 1.vi 编辑器如何快速定位到第N行 命令方式下 :n http://bbs.chinaunix.net/thread- ...

  4. 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed

    目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...

  5. 文件上传下载,命令之wget / curl / which / sort / uniq / cut / wc /tr /sed

    目录 命令 1.文件的上传下载 2.从外网下载文件wget 3.curl文件下载 4.查找命令which 5.字符处理命令-排序sort 6.字符处理-去重uniq 7.字符处理-截取cut 8.字符 ...

  6. 文本处理命令 cat more less cut wc sort uniq

    1.cat       cat主要功能: 1.一次显示整个文件. cat filename 2.从键盘创建一个文件. cat > filename   (只能创建新文件,不能编辑已有文件). 1 ...

  7. linux命令使用 cut/sort/uniq

    我记得之前去XX网面试的那个面试题是这样的:有个apache.log 文件文本内容如下:======================[niewj@centSvr ~]$ cat apache.log  ...

  8. 【转】linux中的cut/tr/join/split/xargs命令

    1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...

  9. linux命令总结之tr命令

    什么是tr命令?tr,translate的简写,translate的翻译: [trænsˈleit] vi. 翻译, 能被译出 vt. 翻译, 解释, 转化, 转变为, 调动 在这里用到的意思是转化, ...

  10. 每天一个linux命令-vi

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

随机推荐

  1. 完全解读 margin 标签

    你真的了解margin吗?你知道margin有什么特性吗?你知道什么是垂直外边距合并?margin在块元素.内联元素中的区别?什么时候该用 padding而不是margin?你知道负margin吗?你 ...

  2. iOS-AVFoundation生成缩略图

    使用MPMoviePlayerController来生成缩略图足够简单,但是如果仅仅是是为了生成缩略图而不进行视频播放的话,此刻使用 MPMoviePlayerController就有点大材小用了.其 ...

  3. docker:如何查看容器的挂载目录

    docker inspect container_name | grep Mounts -A 20 docker inspect container_id | grep Mounts -A 20 [r ...

  4. leetCode:twoSum 两数之和 【JAVA实现】

    LeetCode 两数之和 给定一个整数数组,返回两个数字的索引,使它们相加到特定目标. 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素. 更多文章查看个人博客 个人博客地址:t ...

  5. python选课系统demo的小练习

    #简化选课系统代码:先登陆,然后判断身份并实例化,根据身份对应的类,让用户选择 class Manager: operate_dict=[ ('创造学生账号',"creat_student& ...

  6. 【VS开发】TCP服务端如何判断客户端断开连接

    原文出自:http://www.cnblogs.com/youxin/p/4056041.html 一篇文章:   最近在做一个服务器端程序,C/S结构.功能方面比较简单就是client端与serve ...

  7. linux中的pvmove,pvremove,pvs,pvscan

    PV,VG,LV的关系和操作 PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个.通过将这些物理存在的分区(或称为卷)PV(physical v ...

  8. TCP 客户端编程

    1.Qt中TCP客户端编程 对Qt编程而言,网络只是数据传输的通道: Qt提供了QTcpSocket类(封装了TCP协议细节): 将QTcpSocket的对象当做黑盒使用,进行数据首发. 1.1QTc ...

  9. Oracle10G安装手册

    环境准备: 操作系统:windows-7 32bit 数据库:oracle10G 网络环境:不能使用DHCP模式,必须设置一个固定IP地址. 运行安装 1.打开oracle安装文件,请勿直接选择set ...

  10. js — 基础知识

    目录 1. js的介绍 2. js的引入方式 3. js语句 4. 变量 js ( Javascript ) - 脚本语言 1. js的介绍 Javascript是一种运行在浏览器中的解释型的编程语言 ...