zoukankan      html  css  js  c++  java
  • vim 如何在行首/行尾添加字符 , 如何替换文件的字符。sed命令 如何替换文件的字符,或者在文件的选定字符前后添加内容。

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

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

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

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

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

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

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

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

    2)行首/行尾删除字符

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

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

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

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

    2、 如何替换文件的字符

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

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

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

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

    此外
    可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,此种用法可在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

  • 相关阅读:
    离愁
    梦想与生活
    神秘巨星
    Web用户控件
    Ajax
    php的基本语法与字符串与增删改查
    php建立方法
    jquery
    上传文件
    webfrom验证控件
  • 原文地址:https://www.cnblogs.com/Smarc/p/14152054.html
Copyright © 2011-2022 走看看