1

我用逗号(,)分隔文件

word1,word2,word3,word4  
word80,word81,word82

这就是我要的

word1,word2  
word80,word81

所以,我每行只需要两个单词,其余的我不关心,包括第二个逗号(,)
word3 word4 word82 可以删除或以简单的方式删除有条件的行;逗号不止一个

4

3 回答 3

7
:%s/^\([^,]+,[^,]+\),.*$/\1/

您不需要在 中执行此操作vi,尽管其他两种解决方案是

awk -F, '{print $1 "," $2}'

cut -d, -f1-2
于 2012-04-09T15:00:37.203 回答
3

哇,有很多方法......这是使用的东西sed

$ sed 's/\(^[^,][^,]*,[^,][^,]*\).*/\1/' $file_name

第一个和最后一个呢?与awk

$ awk '{print $1 "," $NF}` $file_name
于 2012-04-09T15:28:53.057 回答
0
$ cat input | cut -d, -f1,2
word1,word2
word80,word81

您没有指定语言,因为您将其标记为 bash,所以我使用了它。

于 2012-04-09T15:06:18.087 回答