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
原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9109845.html