0

我有一个像这样的 50k 行的文本文件

word1 1 23
word2 43 23
word3 197
word4

并且需要一种方法使它看起来像这样:

word1
word2
word3
word4

所以我需要一种方法来删除每行第一个空格后面的每个字符。我该怎么做呢?

4

3 回答 3

6

多种解决方案。

解决方案 1:Vim

在vim中打开文件,然后运行:

:%s/\s.*//g

解决方案2:sed

sed "s/ .*//g" < input_file > output_file

不能在 Windows 上执行此操作。

解决方案 3:Excel/Calc/数字

在 OpenOffice/MSOffice/etc 中导入文件。
您可以将空格设置为分隔符。
但这是一个较慢且不那么有趣的。:)

于 2012-07-14T11:28:13.610 回答
3
[ghoti@pc ~]$ cat input.txt 
word1 1 23
word2 43 23
word3 197
word4
[ghoti@pc ~]$ awk '{print $1}' input.txt 
word1
word2
word3
word4
[ghoti@pc ~]$ sed 's/ .*//' input.txt 
word1
word2
word3
word4
[ghoti@pc ~]$ cut -d\  -f1 input.txt 
word1
word2
word3
word4
[ghoti@pc ~]$ 
于 2012-07-14T12:38:19.843 回答
1

我建议使用 excel 或电子表格来代替,如果它是一次性的。

只需导入一个文件,并将分隔符设置为空格字符。然后,您可以删除除第一列之外的所有列,然后再次保存为文本文件。

于 2012-07-14T11:27:59.150 回答