Liunx运维(三)-文件过滤及内容编辑处理
文档目录:
---------------------------------------分割线:正文--------------------------------------------------------
一、cat:合并文件或查看文件内容
1、cat=concatenate
2、 cat > test.txt <<EOF - - - EOF #生成文本,结尾EOF必须顶格编写

3、 cat > test.txt <<-EOF - - - EOF #生成文本,结尾EOF不必顶格编写,但要table缩进(ctrl+v+i)

4、cat test.txt #查看文件内容

5、cat -n test.txt #对文件内容按行编号

6、cat -b test.txt #对文件内容按行编号,且不对空行编号

7、cat -E test.txt #显示文件结尾隐藏的$符号

8、cat -s test.txt #两行以上的空格,只会显示一行

9、cat test.txt test2.txt #连接并显示多个文件

二、tac反向显示文件内容
1、tac -b test.txt #反向显示文件内容

三、more:分页显示文件内容
1、more test3.txt #满屏显示文件内容,最后显示内容的百分比
=

2、more -20 test3.txt #定义显示的行数

3、more +10 -10 test3.txt #+10,从指定的行开始显示内容

4、ls /etc| more -5 #分页展示文件夹下的文件

四、less:分页显示文件内容
1、less -N test3.txt #满屏显示并显示行号

2、ls /etc|less #分页查看目录下文件内容

3、less与more交互式子命令及说明
v:进入vi编辑界面
q:退出less/more
五、head:显示文件内容头部
1、head test3.txt #默认显示前10行

2、head -3 test3.txt #显示文件的前n行

3、head -c 10 /etc/passwd #显示文件前10个字节

4、head -1 /etc/passwd /etc/gshadow #显示多个文件头部内容

六、tail:显示文件内部尾部
1、tail /etc/passwd #默认显示尾部10行

2、tail -n 5 /etc/passwd #显示尾部5行

3、tail -5 /etc/passwd #显示尾部5行,简洁写法

4、tail -f /opt/tools/elasticsearch-7.10.1/logs/elasticsearch.log #实时监控文件变化

5、tail -F 123.txt #实时监控,文件不存在报错,但是会等待文件生成不退出命令

七、tailf:跟踪日志文件
1、tailf /opt/tools/elasticsearch-7.10.1/logs/elasticsearch.log #默认跟踪10行命令

2、tailf -5 /opt/tools/elasticsearch-7.10.1/logs/elasticsearch.log #指定跟踪最后n行

八、cut:从文本中提取一段文字并输出
1、cut -b 3 test4.txt #只输出第3个字符

2、cut -b 3-5,10 test4.txt #支持-的写法,多个定位用逗号分割

3、cut -b -5 test4.txt #表示从第1个字符到第5个字符

4、cut -b 6- test4.txt #表示从第6个字符到尾部

5、cut -c 3-5 test4.txt #以字符分割,中文也显示正常

6、cut -d : -f 1 /etc/passwd #指定以:作为分割显示

九、split:分割文件
1、split -l 27 test3.txt new_ #每27行进行分割一次,分割的文件以new_开头

2、split -l 27 -a 3 test3.txt new_ #-a指定后缀长度

3、split -l 27 -d test3.txt new_ #-d使用数字后缀

十、paste:合并文件
1、paste test.txt test2.txt #按行合并,默认table分割

2、paste -d: test.txt test2.txt #指定分隔符合并

3、paste -s test.txt test2.txt #-s将一列内容转为1行

十一、sort:文本排序
1、sort testSort.txt #将文件内容转为ASCII码,从小到大进行排序

2、sort -r testSort.txt #倒序排序

3、sort -u #去除重复行
4、sort -t -k #指定列排序
十二、join:按两个文件的相同字段合并
1、join testj1.txt testj2.txt #直接合并2个文件,需要排序一致的

十三、uniq:去除重复行
1、uniq testUniq.txt #去除重复行展示

2、uniq -c testUniq.txt #去除重复行并统计次数

3、sort testUniq.txt |uniq -c #去重排序

十四、wc:统计文件的行数、单词数或字节数
1、wc -l /etc/init.d/README #查看行数

2、wc -c /etc/init.d/README #查看字节数

3、wc -m /etc/init.d/README #查看字符数

4、wc -w /etc/init.d/README #查看单词数

5、wc -L /etc/init.d/README #查看最长行的长度

6、wc /etc/init.d/README #查看行数、单词数、字节数

十五、iconv:转换文件的编码格式
背景:主要由于windows编辑的中文字符在liunx中会有乱码
iconv -f gb2312 -t utf-8 GB2312.txt #将源文件为gb2313的编码转换为utf-8格式
十六、dos2unix:将dos格式文件转换成unix格式
1、dos2unix:将dos格式文件转换成unix格式
2、unix2dos:将unix格式文件转换成dos格式
十七、diff:比较两个文件的不同
构造:test1、test2

diff默认显示格式为三种:a-add,c-change,d-delete
1、diff test1 test2 #d/a签字的数字是文本1的行号,字符后面的是文本2的行号,不容易识别

2、 diff -y test1 test2 #并排格式输出

3、 diff -y -W 20 test1 test2 #-W指定宽度

4、diff -c test1 test2 #上下文格式输出

5、diff -u test1 test2 #统计格式输出

6、diff /etc/rc3.d/ /etc/rc6.d/ #比较两个目录

十八、vimdiff:可视化比较工具
vimdiff test1 test2 #可视化比较,退出需要两次(:q)

十九、rev:反向输出文件内容
1、echo {1..10} | rev #字符串反转

2、cat test3|rev #文本反转

二十、tr:转换或删除
1、tr '123' 'xyz' < test4 #替换123

2、tr '[a-z]' '[A-Z]' < test4 #小写转大写

3.tr '[0-9]' '[a-j]' < test4 #将数字转字母

4、 tr -d 'mrwhite' < test4 #删除mrwhite

5、tr -d '\n\t' < test4 #删除 换行符和制表符

6、echo 'iiiiammmmmmmrrwwhiiiitttee' | tr -s iamrwhite #删除连续字符

7、tr -c '0-9' '*' < test4 #取数字反-替换为*

二十一、od:按不同进制显示文件
od -Ax -tcx /bin/ls|more #使用od命令查看内容

二十二、tee:多重定向
1、ls|tee ls.txt #将标准输出内容覆写到文件中

2、ls|tee -a ls.txt #将标准输出内容追加到文件中

二十三、vi/vim:纯文本编辑器
1、普通模式
(1) G或(shift+g):将光标移动到文件的最后一行
(2) gg或(1G)(1gg):光标移动至文件的第一行
(3) 0:将光标位置移动到当前行开头
(4) $:将光标位置移动到当前行结尾
(5) n<Enter>:将光标从当前位置向下移动n行
(6) ngg或(nG):移动到文件的第n行,可配置:set nu查看
(7) H:光标移动到当前窗口的最上方的那一行
(8) M:光标移动到当前窗口中间的那一行
(9) L:光标移动到当前窗口最下方的那一行
(10) /1.txt :从光标位置开始,向下寻找同名的字符串,n:向下继续搜索 N:向上继续搜索
(11) ?1.txt :从光标位置开始,向上寻找同名的字符串,n:向上继续搜索 N:向下继续搜索
(12) :g/1/s//a/g:将符合1的内容全部替换为a,斜线为分隔符,可以用@、#等替换
(13) :%s/a/1/g:将符合a的内容全部替换为1,斜线为分隔符,可以用@、#等替换
(14) :n1,n2s/1/a/gc:n1、n2为数字,在第n1行和n2行之间寻找1,用a替换
(15) yy:复制光标所在的当前行
(16) nyy:复制光标开始向下的共n行
(17) p/P:p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行
(18) dd:删除光标所在的当前行
(19) ndd:删除从光标下开始n行
(20) u:回滚前一个执行过的动作
(21) . :重复前一个执行过的动作
(22) x:向后删除字符
(23) X:向前删除字符
(24) d1G:删除当前行至第一行
(25) dG:删除当前行至最后一行
(26) d0:删除当前光标文本至行首
(27) d$:删除当前光标文本至行尾
2、编辑模式
(1) i:在当前光标所在处插入
(2) a:在当前光标所在的下一个字符处插入文字
(3) I:在当前所在行行首第一个非空格字符处开始插入
(4) A:在当前所在行行尾的最后一个字符插入文字
(5) O:在当前行所在行的上一行处插入一行
(6) o:在当前行所在行的下一行处插入一行
(7) ESC :推出编辑模式,回到命令模式
3、命令模式
(1) :wq:退出并报错
(2) :wq!:退出并强制保存
(3) :q!:强制退出,不保存
(4) :n1,n2 w filename:将n1行到n2行的内容保存成filename这个文件
(5) :n1,n2 co n3:将n1行到n2行的内容复制到n3位置下
(6) :n1,n2 m n3:将n1行到n2行的内容剪贴到n3位置下
(7) !command:暂时离开vi到命令行模式下执行command命令显示结果
(8) :set nu:显示行号
(9) :set nonu:取消行号
(10) :vs filename:垂直分屏显示,同时显示当前文件和filename对应的文件的内容
(11) :sp filename:水平分屏显示,同时显示当前文件和filename对应的文件的内容
(12) I+#+ESC:(ctrl+v)可视化模式下一次注释所选的所行,取消注释可用:n1,n2s/#/gc,#替换为其他符号可换成别的操作
(13) Del:(ctrl+v)可视化模式下,一次性删除所选内容
(14) r:(ctrl+v)可视化模式下,一次性替换所选内容
Liunx运维(三)-文件过滤及内容编辑处理的更多相关文章
- Linux基础命令(三)——>文件过滤及内容编辑处理命令
1.cat 合并文件或查看文件内容 基本功能:cat test.txt 查看文件内容 也可以多文件显示 cat test1.txt test2.txt >test3.txt ...
- Linux基础命令之文件过滤及内容编辑处理(二)
. wc 用于统计文件的行数,单词,或字节数 -l # 统计行数 -L # 打印最长行的长度,一般脚本中判断字符长度 -c # 统计字节数 -w # 统计单词数 -m 统计字符数 . iconv 转换 ...
- Linux基础命令之文件过滤及内容编辑处理(一)
. cat 功能是连接多个文件并且打印到屏幕输出,或重定向到指定的文件 五大功能: 1.查看文件内容 cat file.txt 2.合并文件内容 cat file1 file2>newfile3 ...
- Liunx学习笔记(三) 文件权限
一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...
- liunx 运维知识一部分
一 克隆虚拟机 大家都需要做的克隆虚拟机,在克隆虚拟机之前,需要把网卡源的UUID和Mac地址全部删除掉.不然相同会冲突使用不了. 删除UUID跟Mac的操作步骤如下: cd /etc/sysc ...
- Linux运维三:系统目录结构
Linux系统目录结构官方参考:http://www.pathname.com/fhs/ 1:Linux树状目录结构图 下面目录中标红的是必须要掌握的! 2:根目录 目录 描述 / 第一层次结构的根 ...
- liunx运维面试题汇总二
一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来标识 ...
- liunx运维必备150个基础命令
经过上次的面试,总结了一下的linux系统常用命令: 命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的 ...
- Liunx运维(六)-文件备份与压缩命令
文档目录: 一.tar:打包备份 二.gzip:压缩或解压文件 三.zip:打包和压缩文件 四.unzip:解压zip文件 五.scp:远程文件复制 六.rsync:文件同步工具 ---------- ...
随机推荐
- CorelDRAW常用工具之涂抹工具
CDR作为绘图软件或者说平面设计软件使用频繁的功能之一,就是为绘制好的图片进行涂抹混色. 1.基本操作 CorelDRAW平面设计软件的涂抹工具是在形状工具组里的,打开左侧工具栏"形状&qu ...
- Markdown特点
前言 以前经常在 gitHub 中看到 .md 格式的文件,一直没有注意,也不明白为什么文本文档的后缀不是 .txt ,后来无意中看到了 Markdown,看到了用这个东西写得一些web界面等特别的规 ...
- 【Azure微服务 Service Fabric 】Service Fabric中应用开启外部访问端口及微服务之间通过反向代理端口访问问题
问题描述 1) 当成功的在Service Fabric集群中部署了应用后,如何来访问呢?如果是一个Web服务,它的URL又是什么呢? 2) 当Service Fabric集群中,服务之间如需要相互访问 ...
- Java中的接口与抽象类的区别
由于随着jdk版本的更新,在jdk1.8时,接口也增强了,所以我们分别来说明一下. (1)jdk1.8之前 在jdk1.8之前,接口里面只能定义抽象方法和常量:而抽象类比普通类有一点不同,就是抽象类里 ...
- uniapp自定义picker城市多级联动组件
uniapp自定义picker城市多级联动组件 支持多端--h5.app.微信小程序.支付宝小程序... 支持自定义配置picker插件级数 支持无限级 注意事项:插件传入数据格式为children树 ...
- 编程小白必备——主流语言C语言知识点
对于编程语言来说,经常看到有因为各自支持的语言阵营而互怼的,其实根本没那个必要,都只是一种工具而已.当多数主流语言都会使用时也许你就不会有偏见了,本质不过都是用来描述计算机的一个任务,只是每门语言设计 ...
- 项目、地铁/公交、游戏签到、项目上线后发现新bug该怎么处理
项目:1.提前分配好业务(每个人该干什么 )2.提前召开会议3.提前挑好人4.准备项目思维导图5.提前审阅项目6.为确保项目按期交付 把控好时间7.给员工提前打好招呼 (提醒加班)8.建立好安全机制9 ...
- 华为模拟器ensp老是弹出一堆英文up down,关闭
英文内容: Mar 25 2015 20:38:21-08:00 Huawei DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.191.3.1 co ...
- angular中datetime-local属性使用ng-model报错
项目需求是将年月日格式更改为年月日时分的格式展示,翻遍了整个项目没找到符合的组件,自己现敲一个也来不及,只好直接使用原生自带的组件--datetime-local.之前都是用的vue写项目,第一次接触 ...
- 微软最强 Python 自动化工具开源了!不用写一行代码!
1. 前言 最近,微软开源了一款非常强大的 Python 自动化依赖库:playwright-python 它支持主流的浏览器,包含:Chrome.Firefox.Safari.Microsoft E ...