我有一个像这样的50k行的文本文件
word1 1 23
word2 43 23
word3 197
word4
并且需要一种方法使它看起来像这样:
word1
word2
word3
word4
所以我需要一种方法来删除每行中第一个空格后面的每个字符。 我该怎么做?
答案 0 :(得分:5)
多种解决方案。
解决方案1:Vim
在vim中打开文件,然后运行:
:%s/\s.*//g
解决方案2:sed
sed "s/ .*//g" < input_file > output_file
不能在Windows上执行此操作。
解决方案3:Excel / Calc / Numbers
在OpenOffice / MSOffice / etc中导入文件 您可以将空格设置为分隔符 但这是一个更慢,更有趣的。 :)
答案 1 :(得分:2)
[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 ~]$
答案 2 :(得分:1)
我建议使用excel或电子表格代替它,如果它是一次性的。
只需导入文件,并将分隔符设置为空格字符。然后您可以删除除第一列以外的所有列,并再次保存为文本文件。