我是vim&替换命令的新手。
我有一个文件diff.txt(来自使用命令diff),其中包含以下内容:
Files ./a/src/external/bdb/Table.cc and /home/b/src/external/bdb/Table.cc differ
Files ./a/src/external/bdb/Table.h and /home/b/src/external/bdb/Table.h differ
Files ./a/src/modules/catalog/distributed/CatalogBox.h and /home/b/src/modules/catalog/distributed/CatalogBox.h differ
在这个文件中,每一行都包含一些我不想要的内容,我希望这个文件的最终版本如下:
Files ./a/src/external/bdb/Table.cc
Files ./a/src/external/bdb/Table.h
Files ./a/src/modules/catalog/distributed/CatalogBox.h
当然我可以使用以下gawk和mv命令完成此任务:
gawk -F" " '{print $1 $2}' ./diff.txt > diff.txt.bak
mv diff.txt.bak diff.txt
但我认为vim必须有一个简单的解决方案。
答案 0 :(得分:3)
尝试此命令:
:%s/ and .*//
答案 1 :(得分:3)
除:s
命令外,你也可以试试这个:
:%norm! 2WD