Ler*_*tov 3 bash vim sed command-line
在列出 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)
但这不起作用。解决办法是什么?
如果你真的想要,你可以简单地给sed多个-e参数,如下所示:
:%!sed -e '/^\.[a-z]/d' -e '/^Desktop/d'
Run Code Online (Sandbox Code Playgroud)
我只是不知道你是否只是为了在sed 中获得一些经验,或者你不知道在vim 中,有一个ed知道sed所做的一切等等......并且没有启动不必要的过程:
g/^\(\.[a-z]\|Desktop\)/d
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2646 次 |
| 最近记录: |