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

news2024/11/26 11:47:25

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],并且会在第一次保存时创建该文件。
    在这里插入图片描述

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
    在这里插入图片描述

  • 取消显示行号
    :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
    在这里插入图片描述

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

vim基础操作-修改文件

  • 使用vim filename打开文件后,进入的是普通模式。当想要修改文件时,可以按i键进入插入模式。进入插入模式时,会在最下面提示当前模式是Insert。按ecs可以退出插入模式,回到普通模式。
    在这里插入图片描述

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:显示帮助信息

在这里插入图片描述
在这里插入图片描述

查看文件- 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秒

在这里插入图片描述

提取列或字段- 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个字节,字符或字段

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决——》CommunicationsException:Communications link failure

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 解决——》CommunicationsException:Communications link failure1、操作2、现象3、原因4、解决1&…

大一新生HTML期末作业 学生个人网页设计作业 HTML5响应式个人简历网站模板 web前端网页制作课作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

【linux】登录审计

linux登录审计 桥接模式配置互联 VMware的“虚拟网络编辑器” 输入’nm-connection-editor’&#xff0c;配置以太网 为以太网连接配置网卡 配置ipv4 互ping ssh远程登录 ssh -l 用户名 ip地址exit退出ssh远程 [alexalexw-device ~]$ ssh -l alex 1.1.1.2 The au…

数据挖掘——RFM客户价值模型及航空公司客户分析实例

引言 背景信息时代的来临使得企业营销焦点从产品转向了客户&#xff0c;客户的管理关系成为企业的核心问题。客户的关系管理问题是客户分群。通过客户分群&#xff0c;进而区分无价值客户和高价值客户。高价值客户代表他们的消费会给企业带来利益最大。企业需要针对不同类别的…

易基因|病毒抗性:全基因组DNA甲基化揭示草鱼年龄相关病毒易感性的表观遗传机制

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2022年06月02日&#xff0c;淡水生态与生物技术国家重点实验室&#xff08;中国科学院水生生物研究所&#xff09;何利波副研究员为第一作者和通讯作者&#xff0c;汪亚平研究员为共同通…

智慧市政解决方案-最新全套文件

智慧市政解决方案-最新全套文件一、建设背景二、思路架构三、建设方案四、获取 - 智慧市政全套最新解决方案合集一、建设背景 随着中国经济的快速发展&#xff0c;城市化步伐不断加快&#xff0c;为了适应城市发展与管理的需求&#xff0c;解决城市市政管理过程中的问题&#…

PDPS软件:机器人控制输送带运行虚拟仿真操作方法

目录 概述 旋转台设备运动机构介绍 旋转台设备模型导入与安装 旋转台设备操作创建 机器人控制旋转台设备离线程序命令添加 仿真运行 概述 旋转台也是工业机器人生产线中常用的外围设备&#xff0c;工件安装在旋转台的夹紧机构上&#xff0c;旋转台通过旋转实现工作位置的…

【Linux】进程地址空间

文章目录一、前言二、什么是进程地址空间三、进程地址空间如何进行管理四、为什么会存在进程地址空间五、进程地址空间区域的严格划分一、前言 学习Linux系统编程一共要翻越三座大山 – 进程地址空间、文件系统以及多线程&#xff0c;这三部分内容很难但是非常重要&#xff1b…

[附源码]Python计算机毕业设计java高校社团管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

GitCode / 1024程序员开源挑战赛(10.23-11.14)

目录 csdn也有云计算了 这个挑战赛&#xff0c;主要是向大家宣布了&#xff0c;咱们csdn也有自己的云计算了&#xff01; 比较有特色的 云容器 云IDE 猿如意 也是有个有特色的工具&#xff0c;可以试用下。​编辑 问题 csdn也有云计算了 这个挑战赛&#xff0c;主…

0097 弗洛伊德算法,马踏棋盘算法

import java.util.Arrays; /* * 弗洛伊德算法 * 1.和迪杰斯特拉算法一样&#xff0c;弗洛伊德算法也是一种用于寻找给定的加权图中顶点间最短路径的算法 * 2.迪杰斯特拉算法用于计算图中某一顶点到其他顶点的最短路径 * 弗洛伊德算法计算图中各个顶点之间的最短路径 * …

IT就业专业为什么要选择大数据技术应用?

IT就业专业为什么要选择大数据技术应用&#xff1f;目前大数据领域从业人员的薪资高涨幅空间大&#xff0c;大数据人才供不应求。各大数据开发方向&#xff0c;数据挖掘、数据分析和机器学习方向&#xff0c;大数据运维和云计算方向。 一、大数据技术应用发展前景好&#xff1…

物联网协议MQTT

物联网协议MQTT 1.MQTT简介 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议&#xff0c;为此&#xff0c;它需要一…

必考设计模式

文章目录一、单例模式&#xff08;创建型&#xff09;1、饿汉式2、懒汉式3、双重检验锁&#xff08;DCL&#xff09;4、sync.once实现单例二、工厂模式&#xff08;创建型&#xff09;1、简单工厂模式2、工厂方法模式3、抽象工厂模式&#xff08;暂时不写&#xff09;三、装饰模…

高通SDX12:SFE(shortcut-fe)软加速驱动效果调测

背景 USB转PHY RTL8153不支持高通IPA硬加速,所以采用SFE软加速 调试设备为基于Cat.6通信模组的整机 SFE软加速前:UXM环境实际测速100Mbps,设备内部sirq 87% SFE软加速驱动调测 SFE驱动代码路径:sdx12-ap\shortcut-fe\shortcut-fe SFE驱动编译文件路径:sdx12-ap\poky\m…

阿里云ACP考试内容是什么?考试时间是什么时候?

对于现在的人来说&#xff0c;网络就是帮助自己了解世界的好帮手、就是让自己生活得更方便的好工具&#xff0c;这样一来&#xff0c;市场就需要大量的人才来满足需求&#xff0c;相对应的岗位也逐渐增多。于是就有大批的大学生在填报志愿的时候&#xff0c;选择IT专业&#xf…

使用Docker发布部署C# .NET core WebApi到服务器

1、启用Docker支持 如果我们使用vs2022新建WebApi项目的时候需要勾选 启用Docker &#xff1a; 如果没有勾选或者使用VS019创建的项目&#xff0c;可以在项目右键 添加 docker支持 2、发布运用程序 接下来开始发布程序&#xff0c;右键点击项目 发布 提示在哪里发布内容&am…

什么?console.log打印出的数据不对?

背景 都怪我年轻不懂事&#xff0c;调试代码只会用console.log。那么&#xff0c;就在今天&#xff0c;出事儿了&#xff01; 看图说话。上面的111和222后面跟的数据竟然不一致&#xff1f; 在我的认知中&#xff0c;JSON里面的parse和stringify方法只是类型的转换啊&#xff…

深浅拷贝小整理(对象赋值请注意)

深浅拷贝小整理1. 一些基础知识 js数据类型分为基本数据类型>Number、String、Boolean、Null、Undefined和引用(对象)数据类型>Object包括有Function、Array、Date&#xff1b;基本数据类型存放在栈中&#xff0c;访问是按值访问&#xff1b;引用类型指的是对象&#xf…

痛定思痛!!!结合fidller抓包,简单介绍http请求报文和http响应报文

简单介绍http请求报文和http响应报文前言1. http请求报文的组成1.1 请求行的内容1.2 请求头的组成1.3 请求体2. HTTP响应报文组成前言 各类书上在介绍http请求报文和http响应报文时花的太过于专业&#xff0c;没有结合实际&#xff0c;当时读的时候可能是我太笨了&#xff0c;…