在使用 Debian11 系统过程中, 存在各种类似 Vim 或 Emacs 的文本编辑工具,主要用于类 Unix 操作系统的文本工具,您应该精通其中的一个。Debian 官方推荐使用 Vim 作为文本工具,当然这也是很多 Linux 系统的默认文本工具。
我们在本教程选择 Vim 作为默认的文本编辑器,在 Debian11 中安装 Vim 非常简单。
apt update #更新软件包索引信息 apt install vim #安装 Vim vim /data/try8.log #打开文件
如同 Windows 可以设置默认应用一样,Debian11 系统也可以设置默认的文本编辑器。对于初学者,可以使用 "/usr/bin/vim.basic" 代替 "/usr/bin/vim.tiny",因为它支持格式高亮,易于阅读。
update-alternatives --config editor #选择默认的文本编辑器
Vim 文本编辑器有五种常用的工作模式,分别为:普通模式、插入模式、替换模式、可视模式和命令模式。
Vim 五种工作模式的切换方式如下:
Debian11 系统有很多文本工具命令,每一个文本工具命令后面都有一个核心链接库或文本工具在支撑,以下分别为不使用正则的文本工具、使用基础正则和扩展正则的文本工具。这些文本工具并非全部都要熟练,您可以根据自己的需求选用。
cat #连接文件并输出全部的内容 tac #连接文件并反向输出内容 cut #选择行的一部分并输出内容 head #输出文件的开头内容 tail #输出文件的末尾内容 sort #对文本文件的行进行排序 uniq #从已排序的文件中移除相同的行 tr #转换或删除字符 diff #对文件的行进行对比
ed #原始行编辑器 sed #流编辑器 grep #匹配满足条件的文本 vim #屏幕编辑器 emacs #屏幕编辑器
awk #进行简单的文本处理 egrep #匹配满足多个条件的文本 tcl #可以进行任何你想得到的文本处理 perl #可以进行任何你想得到的文本处理 pcregrep #软件包中可以匹配 Perl 兼容 PCRE 的文本
Debian11 正则表达式描述要匹配的模式,主要由 文本字符 和 元字符 构成的。元字符是带有特殊含义的字符。它有两种主要的形式,分别是 BRE 和 ERE ,使用哪种取决于上述的文本工具。
BRE 和 ERE 两种形式主要体现在元字符上的区别。
#通用的元字符 BRE:\ . [ ] ^ $ * ERE:\ . [ ] ^ $ * #BRE 独有的 \ 转义元字符 BRE:\+ \? \( \) \{ \} \| ERE: #ERE 独有的不需要 \ 转义的元字符 BRE: ERE:+ ? ( ) { } | #匹配非元字符 c BRE:c ERE:c #匹配一个字面意义上的字符 c,即使 c 本身是元字符 BRE:\c ERE:\c #匹配任意字符,包括换行符 BRE:. ERE:. #字符串的开始位置 BRE:^ ERE:^ #字符串的结束位置 BRE:$ ERE:$ #单词的开始位置 BRE:\< ERE:\< #单词的结束位置 BRE:\> ERE:\> #匹配在 abc... 中的任意字符 BRE:[abc…] ERE:[abc…] #匹配除了 abc... 中的任意字符 BRE:[^abc…] ERE:[^abc…] #匹配零个或多个 r BRE:r* ERE:r* #匹配一个或多个 r BRE:r\+ ERE:r+ #匹配零个或一个 r BRE:r\? ERE:r? #匹配一个 r1 或 r2 BRE:r1\|r2 ERE:r1|r2 #匹配一个 r1 或 r2,并作为括号内的正则表达式 BRE:\(r1\|r2\) ERE:(r1|r2)
在线示例使用 Vim, 首先打开任意文件,如:vim /data/try8.log,默认进入普通模式,输入如下命令操作:
#搜索相关示例 /try8 #使用/向下搜索try8字符串 ?try8 #使用?向上搜索try8字符串 /\d\d:\d\d:\d\d #使用/向下搜索如12:00:00格式的时间字符串 ?\d\d:\d\d:\d\d #使用?向上搜索如12:00:00格式的时间字符串 #替换相关示例 :s/from/to #使用s进行替换操作,将当前行匹配到的第一个from字符串替换成to字符串 :%s/from/to #使用%进行替换操作,将所有行匹配到的第一个from字符串替换成to字符串 :%s/from/to/g #使用g进行替换操作,将所有行匹配到的全部from字符串替换成to字符串 :%s/from/to/gce #使用gce进行替换操作,加c为替换前请用户确认,加e忽略执行错误 #删除相关示例 :g/try8/d #删除包含try8字符串的行 :g!/try8/d #删除不包含try8字符串的行 :n,.d #从n行开始删除到当前行 :.,nd #从当前行开始删除到n行 :g/^\s*$/d #删除只有空白的行
Debian11教程 - Debian11 文本工具,主要引导用户快速理解Debian11 环境下如何进行文本编辑处理,从文本工具介绍开始,逐步到工作模式、正则表达式的使用等,通篇实用易懂,让入门变得更加快速和简单。
《Debian11教程》主打原创、全部免费,欢迎学习和转载,如需交流请加微信号:try8_cn。