vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。

摘要:
再来看我们原始的文件样式:一、vim如何在行首/行尾添加字符,如何替换文件的字符1、vim如何在行首/行尾添加字符删除字符1)行首/行尾添加字符:%s/^/Y/g其中%表示所有行,s表示替换,^代表行首,也可以用$代表行尾。1)替换文件中的字符:举个栗子1:sed-is/test/good/gtest_for_vim_sed//替换文件中所有的test为good并且该操作作用于文件本身。

首先我们介绍有关于vim和sed 共同的参数选择

我们先列举每个代表的意思,下面会详细介绍用法:

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
s :取代,可以直接进行取代的工作哩!

再来看我们原始的文件样式:

vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。第1张

一、vim如何在行首/行尾添加字符 , 如何替换文件的字符

1、vim如何在行首/行尾添加字符 删除字符
1)行首/行尾添加字符

:%s/^/Y/g 其中%表示所有行,s表示替换,^代表行首,也可以用$代表行尾。其中%s 也可以使用1,2s替换代表第一行第二行进行添加,例如1,2s/^/Y/g

举个栗子:2,4s/$/#good/g:

vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。第2张

2)行首/行尾删除字符

:%s/^.{n} // 删除行首n个字符

其中正则表达式"/^.{n}//"中,. 表示要删除的字符个数,".{n}"表示删除n个字符,可用n个"."表示;

:%s/.{n}$// 删除行尾n个字符

举个栗子:1,3s/.{4}$//

vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。第3张

2、 如何替换文件的字符

%s/X/Y/g 其中X代表要被替代的字符,Y代表替换X的字符

g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

字符串的所在行首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

举个栗子:2,3s/test/good/g:

vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。第4张

此外
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,此种用法可在c++多行注释下使用

二、sed 命令直接替换文件中的字符

sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。

sed命令的语法格式:

sed的命令格式: sed [option] 'sed command' filename

sed的脚本格式:sed [option] -f 'sed script' filename

sed命令的选项(option):

-n :只打印模式匹配的行

-e :直接在命令行模式上进行sed动作编辑,此为默认选项

-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作

-r :支持扩展表达式

-i :直接修改文件内容

结合我们一开始提到的选项内表达式,我们现在可以进行简单的sed操作。

1)替换文件中的字符:

举个栗子1:sed -i s/test/good/g test_for_vim_sed //替换文件中所有的test为good 并且该操作 作用于文件本身。去掉-i 只是将操作结果打印到终端。(保存文件名为test_for_vim_sed)

举个栗子2:sed -i 1,2cgoodjob test_for_vim_sed //替换文件中第一第二行 为goodjob,两行变一行

举个栗子3:sed -i 1,2agoodjob test_for_vim_sed //在文件中第一和第二行的下一行添加goodjob,总共四行。

其中删除行首和行尾元素 可以参考vim的用法。两者很相似,有关sed的高级用法可以参考博客:

https://www.cnblogs.com/ctaixw/p/5860221.html

免责声明:文章转载自《vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇修改SVN的IP地址手机控制台调试(需PC端协助)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kibana查询语法 使用教程

Kibana拆分字段的时候,可能是根据空格拆分的。 例如:nested exception is java.net.SocketTimeoutException: Read timed out , 单独搜索 nested ,exception  都可以,但单独搜索 SocketTimeoutException 是搜不到的。 但是java.net.Socke...

MySQL 通配符学习小结

MySQL 通配符 SQL的模式匹配同意你使用“_”匹配不论什么单个字符,而“%”匹配随意数目字符(包含零个字符)。在 MySQL中,SQL的模式缺省是忽略大写和小写的。以下显示一些样例。 注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比較操作符。 为了找出以“b”开头的名字: mysql>...

很有用的系统命令和一些技巧(只列出扩展名为msc和cpl的)

在开始--运行输入命令即可运行相关的命令 下面目前在windows server2003测试过,其它操作系统未测试 azman.msc    授权管理器certmgr.msc  证书ciadv.msc    索引服务compmgmt.msc 计算机管理dcpol.msc    默认域控制器安全设置devmgmt.msc  设备管理器dfrg.msc    ...

MSSQL无落地文件执行Rootkit-WarSQLKit

0x00 前言 在本文中,我们将处理一个很长时间以来一直待解决的问题:MSSQL Rootkit。到目前为止,针对MS-SQL所描述的大多数命令执行都是调用“xp_cmdshell”和“sp_OACreate”存储过程的。因此,如果在没有xp_cmdshell和sp_OACreate存储过程的MSSQL服务器上拥有“sa”帐户或任何具有“sysadmin”...

ubuntu下vi的使用

ubuntu下vi的使用 ssh之后对于server的文件,我习惯用gedit,可是不好改动,于是就用vi. 1、vi的基本概念   基本上vi能够分为三种状态,各自是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode), 各模式的功能区分例如以下:   1) 命令行模式command mod...

Maven学习总结(四):更改maven的编码格式方式

安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。所以当在中文XP或者win7系统开发,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 可以通过修改项目的pom文件,可以告诉mave...