首页 > 试题广场 >

Vi编辑器中,怎样将字符AAA全部替换成yyy?

[单选题]
Vi编辑器中,怎样将字符AAA全部替换成yyy? 
  • p/AAA/yyy/
  • s/AAA/yyy/g
  • i/AAA/yyy/
  • p/AAA/yyy/h
推荐
B
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。
sed命令行格式为:
         sed [-nefri] ‘command’ 输入文本    

常用选项:
        -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
        -e∶直接在指令列模式上进行 sed 的动作编辑;
        -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
        -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
        -i∶直接修改读取的档案内容,而不是由萤幕输出。       

常用命令:
        a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
        c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
        d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
        i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
        p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
        s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g!

         g 是行内进行全局替换

编辑于 2015-01-29 11:37:53 回复(4)
更多回答
B
发表于 2015-01-09 18:30:48 回复(0)
答案:B
vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能。就本题而言,实现全部的AAA替换为yyy,也就是全局替换,需要加参数 g。
因此全局替换命令为::%s/源字符串/目的字符串/g
发表于 2015-01-29 10:15:12 回复(1)
炫头像
/pattern: 从光标开始处向文件尾搜索pattern
?pattern: 从光标开始处向文件首搜索pattern
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
:s/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换
--来自百度

发表于 2016-04-04 13:49:32 回复(1)
发表于 2020-07-15 21:02:13 回复(0)
正确答案:B
s 命令表示允许替换后面带有选项, g 选项代表全局替换
发表于 2014-12-29 20:23:06 回复(0)
:%s/被替换字符/替换成的字符/g
发表于 2019-08-17 10:27:48 回复(0)
发表于 2017-11-15 20:56:46 回复(0)
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。
sed命令行格式为:
         sed [-nefri] ‘command’ 输入文本    
常用选项:
        -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
        -e∶直接在指令列模式上进行 sed 的动作编辑;
        -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
        -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
        -i∶直接修改读取的档案内容,而不是由萤幕输出。       
常用命令:
        a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
        c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
        d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
        i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
        p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
        s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g!
         g 是行内进行全局替换
发表于 2016-05-29 19:20:50 回复(0)
vi编辑器通常被简称为vi,而vi又是visual editor的简称[1]   。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。
vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜单,只有命令,且命令繁多。vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。
发表于 2015-09-07 01:28:14 回复(0)
在Vi编辑器中,可以使用替换命令来将字符AAA全部替换成yyy。具体的替换命令是使用"substitute"命令,即s命令,后面跟着要替换的字符串和替换后的字符串,并在末尾加上g选项表示全局替换(即每一行中所有出现的AAA都会被替换成yyy)。
全局替换:%s/AAA/yyy/g
发表于 2023-11-03 14:51:47 回复(0)

执行之后:

发表于 2018-10-24 22:39:17 回复(0)
B
发表于 2023-10-16 22:53:42 回复(0)
不是vi吗?怎么变成sed了?

发表于 2022-07-30 09:32:43 回复(0)
为啥有人在说sed啊,这也没考sed啊
发表于 2022-07-28 13:34:33 回复(0)
全局替换命令为::%s/源字符串/目的字符串/g
发表于 2017-07-03 11:27:53 回复(0)