vi应用:使用v和s命令两步提取出想要的内容

本文以提出spring中配置文件applicationContext.xml中所有bean的id为例,讲解如何使用vi的v和s命令两步提取出想要的内容。

applicationContext.xml文件内容如下:


<?xml version = "1.0" encoding = "UTF-8" ?>

<beans xmlns ="http://www.springframework.org/schema/beans"

xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns:context ="http://www.springframework.org/schema/context"

xsi:schemaLocation ="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-2.5.xsd" >

<bean id="bookService" class = "BookServiceImpl">

<property name ="appProfile" ref= "myProfile">

</property>

</bean>

<bean id="libService" class = "LibServiceImpl">

<property name ="triggers" >

<list>

< ref local ="bookService" />

</list>

</property>

<property name="threadCountProperties" >

<props>

< prop key ="threadCount" > 1</ prop >

</props>

</property>

</bean>

</beans>

目标是将bean id(bookService和libService)提取出来。步骤如下:

1)使用v命令把不包含<bean\ 的行给删掉

:v/<bean\ /d

applicationContext.xml内容变成如下:

       <bean id="bookService" class = "BookServiceImpl">

<bean id="libService" class = "LibServiceImpl">

2)通过s命令使用正则表达式把每一行替换成我们想提出的内容

:%s/.\{-\}id="\(.\{-\}\)".*$/\1

applicationContext.xml内容变成如下:

bookService

libService

至此,两个bean id(bookService和libService)被成功提取出来。

该方法会修改原来文本内容,为了不影响原来的文本,请copy一份专门用来提取信息。另外这个只是个人用的比较顺手的方法,如果大家有更好的方法可以一起讨论一下。

时间: 2024-10-09 00:56:19

vi应用:使用v和s命令两步提取出想要的内容的相关文章

scp命令------两服务器之间传输数据

scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . 与rcp 不同的是,scp 在需要进行验证时会要求你输入密码或口令. 从 本地 复制到 远程 scp /home/backup.zip [email protected]:/home/others/backup scp /home/backup.zip [email protected]:/home/others/otherbackup.zip 第一个是本地

VI 光标移动及常用编辑命令

光标移动 左:h下:j上:k右:l 下一行行首:+上一行行首:-当前行行首:0当前行行尾:$ 后一个单词词首:w,W后一个单词词尾:e,E前一个单词词首:b,B 下一屏:CRTL+F上一屏:CRTL+B下半屏:CRTL+D上半屏:CRTL+U向上滚动屏幕: CRTL+Y向下滚动屏幕: CRTL+E跳到文件尾:G跳到文件头:g 当前屏幕首行:H当前屏幕末行:L当前屏幕中央:M 指定行:行号G,:行号 指定字符串前:/字符串,?字符串当前行指定字符前:f字符,F字符 文字追加和插入 当前光标右方追加

带你了解Linux基础命令 第二弹(适合想学习Linux的小伙伴)

一.Linux目录结构 FHS定义了两层规范:第一层是"/"目录下的各个目录应该放什么文件,例如:/etc目录下放置系统的配置文件,而/bin和/sbin放置程序及系统命令.第二层是针对/user和/var这两个目录的子目录来定义,例如:/var/log下放置系统日志文件等.下面我们简单介绍一下其中常见的子目录及作用./boot:此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录,如vmlinuz和initrd.img.在安装CentOS时,为boot目录创建一个分区,有

两步修改CentOS主机名称

在CentOS系统中,修改主机名称的步骤如下: 1. 修改network文件 编辑network文件,配置如下: vi /etc/sysconfig/network 配置 NETWORKING=yes HOSTNAME=Hadoop-cluster 2 加载配置 hostname Hadoop-cluster hostname Hadoop-cluster 两步修改CentOS主机名称,布布扣,bubuko.com

忘记linux中root密码怎么办?两种方法两步教你轻松搞定修改新的密码(仅限CentOS6.X)

忘记了Linux的系统管理员密码时,可以在本地通过进入单用户模式来重置root密码.两种方法(只需两步)具体步骤如下: 方法一: 在进入grub启动菜单的时候 按"a" 键操作编辑 kernel 参数后面加"single"告诉linux内核以单用户模式运行,回车启动即可.进去后,在命令行输入passwd回车,输入新的密码,重复输入,搞定.重启后输入新的密码即可登录.(注:grub界面时间很短,大概5秒,把握机会,如果不想等的话,在linux启动的时候随便按下一个键例

linux压缩命令压缩和提取文件

Linux中的tar命令通常用于创建.tar.gz或.tgz存档文件.此命令有很多选项,但您只需记住几个字母即可使用tar快速创建存档.tar命令也可以提取生成的档案. 压缩整个目录或单个文件 使用以下命令压缩Linux上的整个目录或单个文件.它还将压缩您指定的目录中的每个其他目录 - 换句话说,它以递归方式工作. tar -czvf name-of-archive.tar.gz /path/to/directory-or-file 以下是这些开关的实际含义: -c:C创建一个存档.-z:使用g

只需两步快速获取微信小程序源码

只需两步快速获取微信小程序源码 第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享. 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手中,完全是黑盒的,纯靠推测,部分效果在各种尝试后能能做出大致的实现,但是有些细节,实在不知道如何去实现.这种时候,真的很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的一些比较奇葩的坑. 于是就

两步快速获取小程序源码

最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,在实际练手中,完全是黑盒的,纯靠推测,部分效果在各种尝试后能能做出大致的实现,但是有些细节,实在不知道如何去实现.这种时候,真的很想一窥源码,查看究竟,看看大厂的前端大神们是如何规避了小程序的一些比较奇葩的坑. 于是就想到获取到小程序地源文件,然后尝试对其进行反编译还原为源代码,来作为学习参考.我百度了各种关于小程序地反编译教程,但是感觉都不太适合像我这样地初学小白,踩了挺多坑.在这里把我重新简化好的

挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法

转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的一种聚类算法,是BIRCH层次聚类算法的改进版本.可以应用于混合属性数据集的聚类,同时加入了自动确定最佳簇数量的机制,使得方法更加实用.本文在学习文献[1]和“IBM SPSS Modeler 15 Algorithms Guide”的基础上,融入了自己的理解,更详尽地叙述两步聚类算法的流程和细节.