小编Ler*_*tov的帖子

在 vi 缓冲区中使用 sed

在列出 dups-23Mar16.listing 的长文本文件中,我想删除以.local. 以下是该文件中的一些行:

Desktop/Reisen/Italien/VillaLaBandita/images-hpz-urlaub/cimg0429.jpg
Desktop/Tiere/Italien/VillaLaBandita/images-hpz-urlaub/cimg0429.jpg
.local/share/files/eksteuer/ekst.odt
Run Code Online (Sandbox Code Playgroud)

从这个文件的外部,我可以用命令来做到这一点

sed  -e '/^\.[a-z]/d' dups-23Mar16.listing
Run Code Online (Sandbox Code Playgroud)

并在 vi 缓冲区中

:%!sed  -e '/^\.[a-z]/d'
Run Code Online (Sandbox Code Playgroud)

如果我也想删除以 Desktop 开头的行,我会成功

:%!sed  -e '/^Desktop/d'
Run Code Online (Sandbox Code Playgroud)

如何将两个命令合二为一?我试过

:%!(sed  -e '/^\.[a-z]/d';sed -e '/^Desktop/d')
Run Code Online (Sandbox Code Playgroud)

但这不起作用。解决办法是什么?

bash vim sed command-line

3
推荐指数
1
解决办法
2646
查看次数

标签 统计

bash ×1

command-line ×1

sed ×1

vim ×1