Spark修炼之道(基础篇)——Linux大数据开发基础:第六节:vi、vim编辑器(二)(转载)

转自云栖社区:

https://yq.aliyun.com/articles/60354?spm=5176.8251999.569296.36.siyXRn

周志湖 2015-08-25 21:23:00 浏览305 评论0

摘要: 本节主要内容 缓冲区的使用 文件的存盘与读盘 文本查找 文本替换 作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦 1. 缓冲区的使用 在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改。vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修

本节主要内容

  1. 缓冲区的使用
  2. 文件的存盘与读盘
  3. 文本查找
  4. 文本替换

作者:周志湖 
微信号:zhouzhihubeyond 
网名:摇摆少年梦

1. 缓冲区的使用

在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改。vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修改的文本保存在缓冲区,此时硬盘上的原文件不变。下面让我们来演示一下缓冲区的使用。 
假设采用vim 同时打开两个文本文件:

[email protected]:/home/xtwy# vim test2.txt test1.txt
//打开文件后,默认打开的是test2.txt
//此时我们使用:buffers命令可以看查缓冲区
//得到如下结果
:buffers
  1 %a   "test2.txt"                    line 1
  2      "test1.txt"                    line 0

:buffers命令给出的是当前编辑中所有的缓冲区状态,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。缓冲区的状态有以下几种:

- (非活动的缓冲区)
a (激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)

在命令模式输入:open test1.txt进入test1.txt编辑界面,然后再输入:buffers查看缓冲区状态,得到如下结果

:buffers
  1 #    "test2.txt"                    line 1
  2 %a   "test1.txt"                    line 1

可以看到此时test1.txt加载为活动缓冲区,而test2.txt则被加载到交换缓冲区。此时利用:bprevious命令可以切换test2.txt为活动缓冲区,


执行后得到: 

可以看到,此时已经切换回到text2.txt,即将text2.txt加载到当前活动缓冲区当中,采用:buffers命令得到如下结果: 

更多缓冲区操作命令如下:

:buffers    电焊工缓冲区状态
:buffer 编辑指定缓冲区
:ball   编辑所有缓冲区
:bnext  到下一缓冲区
:bprevious  到前一缓冲区
:blast  到最后一个缓冲区
:bfirst 到第一个缓冲区
:badd   增加缓冲区
:bdelete    删除缓冲区
:bunload    卸载缓冲区

2. 文件的存盘与读盘

(一)保存并退出

在编辑模式中,如果文本编辑任务已经完成,想直接保存退出,返回到Linux CLI命令行的话,直接按ZZ即可。

(二)读取文件内容到缓冲区

在编辑模式中,采用:r命令读取文件内容到当前缓冲区, 

:r test1.txt可以test1.txt文件内容写到缓冲区 

(三)将缓冲区内容写到文件

在编辑模式中,采用:w命令将修改后的文件写到磁盘,也可以使用:wq命令将修改的文件写到磁盘上后退出vim返回inux CLI,如果不想保存直接退出,则使用:q!命令直接退出vim,返回到CLI命令行。

3. 文本查找

(1)一般搜索

使用?或/进行字符串查找,例如: 

回车之后,光标将定位到下一个Spark上,如果还想往下搜索,则按n(next),如果想往上搜索,则按N

(2)正则表达式搜索

正则表达式搜索是指加入了像”^,$,.”等特殊匹配字符,它们的作用如下表:

搜索字符串 搜索描述 举例
:/^Spark 搜索以Spark为开头的行 Spark is ….
:/YARN$ 搜索以YARN为结尾的行 …Hadoop YARN
:/Ha…p 搜索Ha开头,中间有三个字符且以p结尾的字符串 Hadoop、Hadaap
:/e> 查找以e结尾的字符串,其中>符号是字符串结束指示符号,这里\不是转义字符,而是与>组合到一起,来表示特殊意义 like、source
:/\<Had 查找以Had作为开始的字符串,\< 同样具有特殊意义 Hadoop、Hadoo
:/Spa* 查看字符串中出现至少一次Spar的字符串,\< 同样具有特殊意义 Spark、SpaSpark
:/Sp[ae]rk 匹配Spark或Sperk Spark、Sperk

4. 文本替换

文本替换使用以下语法格式:

:[g][address]s/search-string/replace-string[/option]

其中address用于指定替换范围,下表给出的是常用示例:

//将当前缓冲区的第一行中的Downloading替换为Download
: 1 s/Downloading/Download

//将当前缓冲区中的第一行到第五行中的Spark替换为spark
:1,5 s/Spark/spark

//将当前缓冲区中的第一行到当前光标所在行的Spark替换为spark
:1,. s/Spark/spark

//将当前光标所在行到缓冲区最后一行的Spark替换为spark
:.,$ s/Spark/spark

//将整个缓冲区中的Spark替换为spark
:% s/Spark/spark

//当前行中第一次搜索到的Spark替换为spark
: s/Spark/spark

//将当前行中所有的Spark替换为spark
:s/Spark/spark/g  

//将所有的and转换成And,不包括theta这种字符串,只会作用于the这种单独存在的字符串
:% s/\<the\>/The/g

添加公众微信号,可以了解更多最新Spark、Scala相关技术资讯 

时间: 2024-11-06 09:22:02

Spark修炼之道(基础篇)——Linux大数据开发基础:第六节:vi、vim编辑器(二)(转载)的相关文章

Spark修炼之道(基础篇)——Linux大数据开发基础:第一节、Linux介绍、安装及使用初步

本节主要内容 Linux简史 Linux特点 Ubuntu Linux安装 Linux使用初步 1. Linux简史 要讲述大名鼎鼎的Linux,必然要先从UNIX系统谈起,下面这幅图给出了Unix系统的进化图: 图片来源:http://baike.baidu.com/link?url=QfoqWtWGs-BjpnfEy_AUk7Bm3XHuf6JbN92HCOoUBfFfj8BuSDkbwmldtmUEmGRDUwqsQMIV4jCKHvdkSPr3Lq 从进化图中可以看到,目前所有的主流操作

Spark修炼之道(基础篇)——Linux大数据开发基础:第十二节:Shell编程入门(四)

本节主要内容 shell脚本调试 shell函数 shell控制结构初步 1. shell脚本调试 当脚本出错时,需要对脚本进行调试,学会脚本调试是每个linux系统使用者必备技能.shell脚本调试无需任何额外的工具,只需要要在脚本文件前加-x选项即可,创建debug.sh文件,内容如下: #!/bin/bash #Filename: debug.sh echo "scripting" echo "debuging" ls + 使用bash -x 命令进行脚本调试

Spark修炼之道(基础篇)——Linux大数据开发基础:第五节:vi、vim编辑器(二)

本节主要内容 缓冲区的使用 文件的存盘与读盘 文本查找 文本替换 作者:周志湖 微信号:zhouzhihubeyond 网名:摇摆少年梦 1. 缓冲区的使用 在利用vim进行文本编辑时,编辑修改后的文本不会立即保存到硬盘上,而是保存在缓冲区中,如果没有把缓冲区里的文件存盘,原始文件不会被更改.vim在打开文件时将文本内容读到缓冲区中,在进行文本编辑时,修改的文本保存在缓冲区,此时硬盘上的原文件不变.下面让我们来演示一下缓冲区的使用. 假设采用vim 同时打开两个文本文件: [email prot

Spark修炼之道(基础篇)——Linux大数据开发基础:第七节:进程管理

本节主要内容 进程管理简介 进程管理常用命令 计划任务 1. 进程管理简介 (1)进程概念 进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动态的,在linux系统中,它与用户权限相关,程序与进程并没有一一对应,一个程序可能对应多个进程,例如: //ps命令列出当前所有对应当前用户的活动进程 xtwy@ubuntu:~$ ps PID TTY TIME CMD 2087 pts/0 00:00:00 bash 2105 pts/0 00:00:00 ps xtwy@u

大数据开发基础知识

日志聚合与分析 日志聚合的作用就在于可以把来自不同服务器上不同应用程序产生的日志聚合起来,存放在单一的服务器上,方便进行搜索和分析.在日志聚合方面,已经有不少成熟的开源软件可以很好的满足需求.本文中要介绍的是 logstash,一个流行的事件和日志管理开源软件.logstash 采用了一种简单的处理模式:输入 -> 过滤器 -> 输出.logstash 可以作为代理程序安装到每台需要收集日志的机器上.logstash 提供了非常多的插件来处理不同类型的数据输入.典型的包括控制台.文件和 sys

转:Hadoop大数据开发基础系列:七、Hive基础

https://blog.csdn.net/hehe_soft_engineer/article/details/102820968 原文地址:https://www.cnblogs.com/ambdyx/p/11779609.html

Spark修炼之道——Spark学习路线、课程大纲

课程内容 Spark修炼之道(基础篇)--Linux基础(15讲).Akka分布式编程(8讲) Spark修炼之道(进阶篇)--Spark入门到精通(30讲) Spark修炼之道(实战篇)--Spark应用开发实战篇(20讲) Spark修炼之道(高级篇)--Spark源代码解析(50讲) 部分内容会在实际编写时动态调整.或补充.或删除. Spark修炼之道(基础篇)--Linux大数据开发基础(15讲). Linux大数据开发基础--第一节:Ubuntu Linux安装与介绍 Linux大数据

2017最新大数据零基础视频教程下载

2017零基础大数据就业课程(全网最全,856课时) 课程观看地址:http://www.xuetuwuyou.com/course/181 课程出自学途无忧网:http://www.xuetuwuyou.com 本套课程是风舞烟老师团队历时四个月打造的全网最全的一套大数据就业课程.可以说是完全0编程基础起步,一部到就业!课程分2大模块,14个课程,65章,共计856课时! 课程大纲: 一.Java模块课程 课程一.[大数据必知必会]- Java负基础扫盲篇 01.Java基础语法.变量.数据类

大数据开发之常见九种数据分析方法

今天给大家分享一篇关于大数据开发常见的9种数据分析方法,首先数据分析是从数据中提取有价值信息的过程,过程中需要对数据进行各种处理和归类,只有掌握了正确的数据分类方法和数据处理模式,才能起到事半功倍的效果,以下是数据分析员必备的9种数据分析思维模式: 1.分类 分类是一种基本的数据分析方式,数据根据其特点,可将数据对象划分为不同的部分和类型,再进一步分析,能够进一步挖掘事物的本质. .在入门学习大数据的过程当中有遇见学习,行业,缺乏系统学习路线,系统学习规划,欢迎你加入我的大数据学习交流裙:529