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折叠信息不会丢失,而且易用控制和标注
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的更多相关文章
- 010 Linux 文本统计与去重 (wc 和 uniq)
wc 命令一般是作为组合命令的一员与其他命令一同起到统计的作用.而一般情况下使用wc -l 命令较多. uniq 可检查文本文件中重复出现的行,一般与 sort 命令结合使用.一起组合搭配使用完成统计 ...
- 线上问题debug过程(cat,grep,tr,awk,sort,uniq,comm等工具的综合使用)
问题:发现线上到货单的数量,小于实际到货的数量. 怀疑一些隐藏的条件,将部分唯一码进行了过滤,导致数量变少. 开展了如下的跟踪流程: 1.找到其中一个明细的唯一码 grep 6180e-4b09f p ...
- linux命令---vi编辑器快速定位行数
linux命令—vi编辑器快速定位行数.删除当前行.和删除当前行后面的全部内容 1.vi 编辑器如何快速定位到第N行 命令方式下 :n http://bbs.chinaunix.net/thread- ...
- 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed
目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...
- 文件上传下载,命令之wget / curl / which / sort / uniq / cut / wc /tr /sed
目录 命令 1.文件的上传下载 2.从外网下载文件wget 3.curl文件下载 4.查找命令which 5.字符处理命令-排序sort 6.字符处理-去重uniq 7.字符处理-截取cut 8.字符 ...
- 文本处理命令 cat more less cut wc sort uniq
1.cat cat主要功能: 1.一次显示整个文件. cat filename 2.从键盘创建一个文件. cat > filename (只能创建新文件,不能编辑已有文件). 1 ...
- linux命令使用 cut/sort/uniq
我记得之前去XX网面试的那个面试题是这样的:有个apache.log 文件文本内容如下:======================[niewj@centSvr ~]$ cat apache.log ...
- 【转】linux中的cut/tr/join/split/xargs命令
1. cut命令 cut命令用于从文件或者标准输入中读取内容并截取每一行的特定部分并送到标准输出. 截取的方式有三种:一是按照字符位置,二是按照字节位置,三是使用一个分隔符将一行分割成多个field, ...
- linux命令总结之tr命令
什么是tr命令?tr,translate的简写,translate的翻译: [trænsˈleit] vi. 翻译, 能被译出 vt. 翻译, 解释, 转化, 转变为, 调动 在这里用到的意思是转化, ...
- 每天一个linux命令-vi
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
随机推荐
- tp5.1 model 方法下的like语句查询
$where_like = ['title','like','%' . $_GET['title'] . '%']; $result_list = $this->model->where( ...
- Node.js在跑Express的时候有个时候会卡住按一下Ctrl+C又好了的解决办法
Node.js编写了一个基于Express的Web应用,但是有的时候这个应用会卡死. 后来发现原因是我使用了Windows原生的命令行,会出现这个问题. 也就是说我是在文件夹下面Shift+鼠标右键, ...
- 使用mysqldump备份表数据
使用mysqldump备份远程表数据到本地 下面的命令是使用mysqldump命令备份远程数据库的一张表的信息,并将信息保存到本地的一个文件的一个示例: mysqldump -h 192.168.1. ...
- python迭代器、生成器、装饰器之装饰器
装饰器...... 定义:本质是函数,为其他函数添加附加功能 原则: 1.不能修改被装饰的函数的源代码 2.不能修改被装饰函数的调用方式 仔细观察下面代码,看看有什么发现. 内嵌函数+高阶函数+闭包= ...
- MATLAB知识-解决因缺少libsvm 而运行出现Y must be a vector or a character array.
matlab版本R2014b 最近运行一个使用svmtrain的程序,出现以下错误: 这是因为是在设定路径里面没有libsvm.辛亏有一位师姐的电脑里面有libsvm的包,我直接用了,这样就不需要下载 ...
- 最新 京东java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿等10家互联网公司的校招Offer,因为某些自身原因最终选择了京东.6.7月主要是做系统复习.项目复盘.LeetCode与牛客 ...
- Centos7安装gitlab11 学习笔记之基础概念、部署安装、权限管理、issue管理
一.基础介绍 1.简介 一个基于GIT的源码托管解决方案 基于rubyonrails开发 集成了nginx postgreSQL redis sidekiq等组件 2.安装要求 2g内存以上,有点占内 ...
- 27.Spark中transformation的介绍
Spark支持两种RDD操作:transformation和action.transformation操作会针对已有的RDD创建一个新的RDD: 而action则主要是对RDD进行最后的操作,比如遍历 ...
- [转帖]redis知识点总结
redis面试常问知识点总结 https://www.toutiao.com/i6740199554127233543/ 原创 波波说运维 2019-10-02 00:01:00 概述 今天主要分享一 ...
- 人机交互技术 Week 2_History of HCI
Recap: Interaction Design Interaction Design Designing interactive products to support people in the ...