我们在本教程选择 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 五种工作模式的切换方式如下:
cat #连接文件并输出全部的内容 tac #连接文件并反向输出内容 cut #选择行的一部分并输出内容 head #输出文件的开头内容 tail #输出文件的末尾内容 sort #对文本文件的行进行排序 uniq #从已排序的文件中移除相同的行 tr #转换或删除字符 diff #对文件的行进行对比
ed #原始行编辑器 sed #流编辑器 grep #匹配满足条件的文本 vim #屏幕编辑器 emacs #屏幕编辑器
awk #进行简单的文本处理 egrep #匹配满足多个条件的文本 tcl #可以进行任何你想得到的文本处理 perl #可以进行任何你想得到的文本处理 pcregrep #软件包中可以匹配 Perl 兼容 PCRE 的文本
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教程,主打原创,定期更新,全部免费,欢迎收藏学习和转载分享。