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