Linux之文本处理

Linux之文本处理

一、文本编辑器

在Linux系统中,即使在控制台命令行状态下,也需要进行大量的文本处理工作。Linux系统中几乎所有的配置文件都是以纯文本形式存在的,我们也要对这些文件进行编辑工作。Linux上常见的文本编辑器有vi、vim、ed、gedit、emacs等。本章介绍的文本编辑器就是平常使用最多的vim文本处理器。

vim简介

在命令行输入vim

[root@bogon Desktop]# vim

出现以下界面就是vim编辑器的界面
在这里插入图片描述

vim有三种工作模式
1.命令模式

使用vim打开任何一个文件,如

[root@localhost tmp]# vim sdn蜀道难

在这里插入图片描述
进入vi编辑器时,首先进入命令模式(command mode)。在命令模式下,从键盘输入任何字符都被当作命令来解释。在命令模式下,可以完成复制、粘贴、选择、删除、撤销等命令。输入命令后vim会立即执行,不需要回车,而且输入的字符不会在屏幕上显示出来。

2.插入模式

主要用于文本的编辑。该模式下用户输入的任何字符都被作为文件的内容保存起来,并在屏幕上显示出来。进去命令模式后,按字母i键或a键,进入插入模式。
插入模式有一个–insert–标识
在这里插入图片描述
在插入模式下,输入Esc键会返回到命令模式。

3.末行模式

命令模式下的命令可以完成很多功能,但要执行一些如保存当前修改并继续编辑、保存并退出vim环境、不保存修改退出vim环境、显示行号等操作还是必须要进入末行模式。在命令模式下用户可以按键盘的shift加:进入末行模式,在末行模式下我们可以进行保存修改或退出vim,也可以环境设置、列出行号、寻找字符串等对文件进行一些高级处理。
底行模式在打开vi编辑器后,文件的下面,有一个标识
在这里插入图片描述
在末行模式下按Esc键会退回命令模式

vim编辑器使用
命令模式下
命令操作
yy复制当前行
y0复制当前字符到当前行的起始
y$复制当前字符到当前行的末尾
yG复制当前行到文件末尾的内容
n+yy复制n行
p粘贴
x删除当前字符
X删除前一个字符
dd删除当前行
d$删除当前字符到当前行的末尾
d0删除当前字符到当前行的开始
dG删除当前行到文件末尾
u撤销上一个操作
r替换当前字符
h或左方向键左移一位
l(小写L)或右方向键右移一位
j或下方向键下移一位
K或上方向键上移一位
^移动到光标所在行的“行首”
$移动到光标所在行的“行尾”
gg移动到文件开头
G移动到文件最后
w移动到下个单词的开头
b移动到上个单词的开头
e移动到当前单词的字尾
H移动到屏幕最上面一行
M移动到屏幕中间一行
L移动到屏幕最下面一行
插入模式

在命令行模式下按一下字母i或a就可以进入插入模式,这时候你就可以开始输入文字了。

末行模式

在命令模式下按":"键进入末行模式

末行模式的常用命令操作

命令退出方式
:w 文件名以指定的文件名保存,并退出,类似于另存为。
:w保存当前修改,还可以继续编辑
:wq保存当前修改,并退出vim环境
:q退出vim环境(如果当前文件发生修改,将无法保存)
:q!不保存当前修改,并退出vim环境
:x保存当前修改,并退出vim环境。相当于:wq的意思
ZZ保存当前修改,并退出vim环境。相当于:wq的意思
:set number显示行号,简写为:set nu。注意,vi关闭后行号将不再显示
:!系统命令 执行一个系统命令并显示结果,如在vim下需要执行ls时,可以使用:! ls
:sh切换到命令行
查找和替换
命令组成含义
%s确定操作范围,%代表从文本的第一行到最后一行
s执行替换操作
/+/-搜索和替换的文本(搜索字母+,替换字母-)
g对搜索到每一行的每一个实例进行替换;如果g缺失,则只替换每一行第一个符合条件的实例。

则在每次替换前都会请求用户确认,在屏幕最下方会出现如下内容。

replace with r (y/n/a/q/l/^E/^Y)?
字符含义
y执行替换
n跳过此次替换
a执行此次替换以及之后的所有替换
q停止替换
l(小写L)执行此次替换以及之后的所有替换
^E(Ctrl+E)^E表示向下滚动
^Y(Ctrl+Y)^Y表示向上滚动

常用的替换命令:

命令说明
:s/vivian/sky/替换当前行第一个 vivian 为 sky
:s/vivian/sky/g替换当前行所有 vivian 为 sky
:%s/vivian/sky/替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g替换每一行中所有 vivian 为 sky
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值