linux程序文本,Linux之文本处理

Linux之文本处理

一、文本编辑器

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

vim简介

在命令行输入vim

[root@bogon Desktop]# vim

出现以下界面就是vim编辑器的界面

888628284b0bf177b7058cf8f9646a93.png

vim有三种工作模式

1.命令模式

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

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

eeff290b45865b5af4453d32abb13b76.png

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

2.插入模式

主要用于文本的编辑。该模式下用户输入的任何字符都被作为文件的内容保存起来,并在屏幕上显示出来。进去命令模式后,按字母i键或a键,进入插入模式。

插入模式有一个–insert–标识

cc4b5debe84d01854a6a8039548600b5.png

在插入模式下,输入Esc键会返回到命令模式。

3.末行模式

命令模式下的命令可以完成很多功能,但要执行一些如保存当前修改并继续编辑、保存并退出vim环境、不保存修改退出vim环境、显示行号等操作还是必须要进入末行模式。在命令模式下用户可以按键盘的shift加:进入末行模式,在末行模式下我们可以进行保存修改或退出vim,也可以环境设置、列出行号、寻找字符串等对文件进行一些高级处理。

底行模式在打开vi编辑器后,文件的下面,有一个标识

4a25a8369df6748b61a1fbb97e4a584a.png

在末行模式下按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环境

😡

保存当前修改,并退出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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值