46-文本编辑器及文本处理

46-文本编辑器及文本处理

  • 常见文本编辑器
    • linux文本编辑器介绍
    • Linux文本编辑器-emacs
    • Linux文本编辑器-nano
    • Linux文本编辑器- gedit
    • Linux文本编辑器- kedit
    • Linux文本编辑器- vi
    • Linux文本编辑器- vim
  • 使用vim编辑器
    • vim基础操作-打开文件
    • vim基础操作-移动光标
    • vim基础操作–数据操作
    • vim基础操作-行号显示与取消
    • vim基础操作-查找与替换
    • vim基础操作-设置搜索高亮
    • vim基础操作-修改文件
    • vim基础操作-撤销或重做
    • vim基础操作-保存文件并退出
  • 文本处理
    • 查看文件- cat (1)
    • 查看文件- more (1)
    • 查看文件- less (1)
  • 文件摘选和字段提取
    • 文件摘选- head
    • 文件摘选- tail
    • 提取列或字段- cut

常见文本编辑器

linux文本编辑器介绍

  • 文本处理是操作系统对文件管理的基础操作,文本编辑器是操作系统基础的功能软件之一,主要用来编写和查看文本文件。不同的文件编辑器有不同的辅助功能。根据使用环境的不同,Linux 的文本编辑器有很多类型。
  • 常见的 Linux 文本编辑器有:emacs,nano,gedit,kedit,vi,vim。

Linux文本编辑器-emacs

  • emacs是一款功能强大的编辑器,与其说是一款编辑器,它更像一个操作系统。emacs带有内置的网络浏览器、IRC客户端、计算器,甚至是俄罗斯方块。当然,emacs需要在图形化界面的Linux中使用。
  • 优点:
    可定制,可扩展
    功能强大
    可以与许多自由软件编程工具集成
  • 缺点:
    入门单独搞,对普通用户不友好

Linux文本编辑器-nano

  • nano是命令行界面下一个相对简单的文本编辑器,它是为了代替闭源的Pico文本编辑器而开发的,1999年以GPL协议发布第一个版本,是一个自由软件,同时也是GNU计划的一个组成部分。nano有很多人性化的功能设计,如语法高亮、正则表达式搜索和替换、平滑滚动、多个缓冲区、自定义快捷键、撤销或重复编辑。
  • 优点:
    易于使用,操作简单,适用于简单文本编辑。
  • 缺点:
    对复杂的文本编辑比较耗时,无强大的命令功能进行复杂操作,不支持如宏、一次编辑多个文件、窗口分割、垂直块/矩形选择/编辑、自动完成等高级功能。

Linux文本编辑器- gedit

  • gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。它简单易用,有良好的语法高亮,对中文支持很好,支持包括GB2312、GBK在内的多种字符编码。gedit是一款自由软件。gedit包含语法高亮和标签编辑多个文件的功能。利用GNOME VFS库,它还可以编辑远程文件。它支持完整的恢复和重做系统以及查找和替换。
  • 优点:
    图形化界面,易上手,操作习惯与Windows类似,包括常用的快捷键如复制粘贴等。
  • 缺点:
    需要安装图形化桌面才能使用。

Linux文本编辑器- kedit

  • 与gedit类似,kedit是KDE图形化桌面中常用的一种文本编辑器。kedit编辑器,特别适用于浏览文本和各种配置文件。
  • 优点:
    图形化界面,易上手,操作习惯与Windows类似,包括常用的快捷键如复制粘贴等。
  • 缺点:
    需要安装图形化桌面才能使用。

Linux文本编辑器- vi

  • vi是标准的Unix文本编辑器,也是最古老的文本编辑器、最通用的文本编辑器。所有的Linux、Unix都默认带有vi文本编辑器。虽然vi的操作方式与其他常用的文本编辑器(如gedit)很不相同,但是由于其运行于字符界面,并可用于所有unix/linux环境,仍被经常使用。
  • vi的三种命令模式:
    Command : 命令模式,用于输入命令;
    lnsert : 插入模式,用于插入文本;
    Visual : 可视模式,用于浏览文本。
  • 优点 : 通用,几乎所有的Unix、Linux都自带vi。
  • 缺点 : 功能简单,显示效果单一。

Linux文本编辑器- vim

  • Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
  • Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi lMproved。现在是在开放源代码方式下发行的自由软件。
  • 从vi派生出来的vim具有多种模式:
    基本模式 : 普通模式、插入模式、可视模式、选择模式、命令行模式、Ex模式
    派生模式 : 操作符等待模式、插入普通模式、插入可视模式、插入选择模式、替换模式
    其他: Evim
  • openEuler 20.03 LTS系统安装后默认没有安装vim,需要手动安装vim

使用vim编辑器

vim基础操作-打开文件

[root@openEuler~]# vim filename

  • 如果filename文件存在,则会打开文件并显示文件内容
  • 如果filename文件不存在,vim会在下面提示[New File],并且会在第一次保存时创建该文件。
    46-文本编辑器及文本处理_第1张图片

vim基础操作-移动光标

  • 快速移动光标:
    上下左右键或k、j、h、l键上下左右移动光标。
    0 移动到行首
    g0移到光标所在屏幕行行首
    :n移动到第n行。
    gg:到文件头部。
    G:到文件尾部。
    :set nu : 显示行编号
  • 数据操作:
    yy or Y:复制整行文本。
    y[n]w:复制一(n)个词。
    d[n]w:删除(剪切)1(n)个单词
    [n] dd:删除(剪切)1(n)行。

vim基础操作–数据操作

  • 复制:
    yy or Y:复制整行文本。
    y[n]w:复制一(n)个词。
  • 粘贴:
    面向行的数据:
    ·p放置数据在当前行的下面
    ·Р放置数据在当前行的上面
    面向字符的数据:
    ·p放置数据在光标的后面.
    Р放置数据在光标前
  • 删除(剪切):
    d[n]w:删除(剪切)1(n)个单词
    [n] dd:删除(剪切)1(n)行。

vim基础操作-行号显示与取消

  • 显示行号
    :set nu
    46-文本编辑器及文本处理_第2张图片

  • 取消显示行号
    :set nonu

vim基础操作-查找与替换

  • 查找
    :/word在光标之后查找一个字符串word,按n向后继续搜索,shift+n向上搜索。
    :?word在光标之前查找一个字符串word,按n向后继续搜索。
  • 替换
    :\s/word1/word2 : word1替换为word2,替换光标后的第一个word1
    :\s?word1?word2 : word1替换为word2,替换光标前的第一个word1
    :1,5s/word1/word2/g : 将文档中1-5行的word1替换为word2
    不加g则只替换每行的第一个
    word1。
    %s/word1/word2/gi : 将文档所有的word1替换为word2,i不区分大小写。

vim基础操作-设置搜索高亮

  • 临时设置时,在命令模式下输入:
    :set hlsearch
    46-文本编辑器及文本处理_第3张图片

  • 永久设置,需要在/etc/vimrc中配置,增加一行set hlsearch,然后更新变量即可。

vim基础操作-修改文件

  • 使用vim filename打开文件后,进入的是普通模式。当想要修改文件时,可以按i键进入插入模式。进入插入模式时,会在最下面提示当前模式是Insert。按ecs可以退出插入模式,回到普通模式。
    46-文本编辑器及文本处理_第4张图片

vim基础操作-撤销或重做

  • u撤销最近的改变
  • U撤销当前行自从光标定位在上面开始的所有改变.
  • Ctrl+r重做最后一次“撤销”改变

vim基础操作-保存文件并退出

  • 退出插入模式:
    ·在插入模式下按ecs键退出插入模式
  • 常用的保存/退出的命令:
    :w 保存
    :q 退出
    :wq 保存并退出
    :q! 强制退出
    :wq! 强制保存并退出

文本处理

查看文件- cat (1)

  • cat是一个文本文件查看和连接工具。cat有如下功能:
    显示文件内容,cat filename
    编辑一个文件,cat > filename。
    将几个文件合并为一个文件,cat file1 file2 > file3.(这里>表覆盖(原文件内容))
    如果要保留原文件 cat >> filename或cat file1 file2 >> file3
  • cat常用选项有:
    -n:从1开始对所有行编号并显示在每行开头
    -b:从1开始对非空行编号并显示在每行开头
    -s:当有多个空行在一起时只输出一个空行
    -E:在每行结尾增加$
    –help:显示帮助信息

46-文本编辑器及文本处理_第5张图片
46-文本编辑器及文本处理_第6张图片

查看文件- more (1)

  • more可以一次查看文件或者标准输入的一页,与cat不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
  • 命令格式: more [options] …
  • more常用的选项有:
    +n : 从第n行开始显示
    -n : 定义屏幕大小为n行
    -c : 从顶部清屏,然后显示 (例:more -c10 file.txt :)
    -s ∶把连续的多个空行显示为一行
  • more白常用操作:
    Enter : 默认向下滚动1行
    Ctrl+F : 向下滚动一屏
    空格键 : 向下滚动一屏
    Ctrl+B : 向上滚动一屏
    b : 向上滚动一屏
    = : 输出当前行号
    :f : 输出文件名和当前行号
    q : 退出more

查看文件- less (1)

  • less可以一次查看文件或者标准输入的一页,less的用法比起more更加的有弹性。支持与vim相似的编辑:(/word 向后查找关键字 , ?word向前查找关键字)
  • 命令格式: less [option]文件
  • less常用的选项有:
    -f:强制打开特殊文件,例如外围设备代号、目录和二进制文件-g:∶只标志最后搜索到的关键字
    -i:忽略搜索时的大小写
    -N:显示每行的行号
    -s:当有多个空行在一起时只输出一个空行
    前面这几个选项可以进入less之前使用,也可以在进入less之后使用
    -o<文件名> : 将less输出的内容保存到指定文件
    例:
    ls -l /etc | less -o /root/output.txt
    用less选项显示ls命令的输出信息,并保存在指定目录下的output.txt文件当中
  • less常用的操作:
    b:向上翻一页
    d:向下翻半页
    h:显示帮助界面
    q:退出less
    u:向上翻半页
    y:向上翻一行
    空格键:向下翻一页
    Enter:向下翻一行
    上下键:向上/下翻一行

文件摘选和字段提取

文件摘选- head

  • head用来显示文件的开头至标准输出中,默认head命令可以显示文件的前10行
  • 命令格式: head [option]…[文件]…
  • head常用的选项有:
    -q : 输出时隐藏文件名,head默认不显示文件名
    -v : 输出时显示文件名
    -c num : 显示前num 个字节
    -n num:显示前num行

文件摘选- tail

  • tail用来显示文件的末尾至标准输出中,默认tail命令可以显示文件的后10行
  • 命令格式: tail [option]… [file]…
  • tail常用的选项有:
    -f : 循环读取,对于日志文件的监控非常有用
    -q : 不显示文件名,tail默认不显示文件名
    -v : 显示文件名
    -c num : 显示文件最后num个字节
    -n num : 显示文件最后num行
    -s : 与-f结合使用,表示每次反复的时间间隔休眠s秒

46-文本编辑器及文本处理_第7张图片

提取列或字段- cut

  • cut用于显示文件或者标准输入的特定列,如:
  • [root@openEuler ~]# cut -d: -f1/etc/passwd
    #显示/etc/passwd文件以:间隔的第一列
  • 命令格式: cut [option]… [文件]
  • cut常用的选项有:
    -b:仅显示行中指定直接范围的内容
    -c[范围]∶仅显示行中指定范围的字符
    -d : 指定字段的分隔符,默认的字段分隔符为“TAB"
    -f[范围] : 显示指定第num个字段的内容,可以用逗号隔开显示多个字段
  • 指定范围的方式:
    N : 每行的第N个字节,字符或字段
    N- : 每行的第N个字节,字符或字段到每行的末尾
    -M : 每行的第1个字节,字符或字段到每行第M个
    N-M : 每行的第N到M个字节,字符或字段

46-文本编辑器及文本处理_第8张图片

你可能感兴趣的:(openEuler操作系统,正则表达式,学习,linux)