使用命令行或vim删除列

时间:2015-08-12 17:08:37

标签: shell unix vim command-line

我在文件中有这些文字:

test1.out:www.xyx.com
test2.out:www.cnn.com

如何在“:”之前删除第一列,只留下:

www.xyx.com
www.cnn.com

3 个答案:

答案 0 :(得分:3)

您可以使用:g命令在vim中实现此目的(请参阅:h :g)。

您应该使用的命令是:

:g/.*/norm! df:

正如FDinoff在评论中所说,这简化为

:%norm! df:

这会在文件的每一行上运行命令norm! df:norm! df:会删除从一行开头到:的所有内容。

答案 1 :(得分:1)

使用awk

awk -F: '{print $2}' filename

with cut

cut -d: -f2 filename

 sed 's/.*://' filename

答案 2 :(得分:0)

很容易,通过替换:之前的所有内容。来自Vim:

:%s/^.*://