You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在vi编辑器中用单命令删除data.txt指定行的特定单词/整行

嘿,这事儿好办,给你分两种场景的单条Vi命令,按需选用就行:

解决方案:用Vi编辑器单条命令处理指定行的内容

场景1:仅删除第2行和第10行中的“rahul”单词(保留整行其他内容)

直接在Vi的命令行模式下输入这条命令:

:2;s/rahul//g | 10;s/rahul//g

命令拆解:

  • : :进入Vi的命令行模式
  • 2;s/rahul//g :定位到第2行,全局替换(g参数)“rahul”为空字符串,也就是删除该行所有的“rahul”单词
  • | :Vi中用来连接多个命令的分隔符,执行完前一个命令后自动执行后一个
  • 10;s/rahul//g :和前面逻辑一致,处理第10行的“rahul”单词

场景2:直接删除包含“rahul”的第2行和第10行(整行删除)

如果需要直接删掉这两行,用这条命令更严谨(确保只删除包含“rahul”的目标行,避免误删):

:2g/rahul/d | 10g/rahul/d

命令拆解:

  • 2g/rahul/d :在第2行中查找(g)包含“rahul”的内容,找到后执行删除(d)行操作
  • | :连接命令,继续处理第10行
  • 10g/rahul/d :同理处理第10行

要是你已经百分百确认第2行和第10行肯定包含“rahul”,也可以用更简洁的版本:

:2d | 10d

内容的提问来源于stack exchange,提问作者Pravin Gaddam

火山引擎 最新活动