我正在尝试使用VIM将所有字符替换为大文本文件中的第一个逗号(10mb +)
我有一些看起来像:
foo,bar,sun
apple,pear,goose
monkey,pig,baby
我希望它看起来像:
bar,sun
pear,goose
pig,baby
答案 0 :(得分:10)
以下应该这样做
:%s/^[^,]*,//
说明:
或者你可以使用sed:
sed 's/^[^,]*,//' -i FILENAME
或
sed 's/^[^,]*,//' FILENAME > NEWFILENAME
编辑:次要格式并解释":"
答案 1 :(得分:7)
您可以使用
:%norm df,
在文件的每一行上运行正常命令df,
。从行的开头删除,包括第一个逗号。
阅读:help :normal
答案 2 :(得分:2)
这应该这样做:
[esc]:%s:^[^,]*,::
编辑:当然您也可以使用剪切:
cut -d , -f 2- < mybigfile.txt > newfile.txt
答案 3 :(得分:2)
:%s/.\{-},//
此版本使用非贪婪量词\{-}
,使前一个点匹配0次或更多次但尽可能少(因此它不贪婪)。
这类似于在大多数其他正则表达式中使用*?
。