在bash中是否有一个命令来获取前n个单词而不是n个类似于' head -n'?

时间:2014-03-26 10:57:13

标签: linux bash shell

我想从一个大文本文件中提取第一个说1M字,我可以在命令行中执行,而不是编写脚本吗?

更新:数据是每行一个句子,单词用空格分隔,这个结构应该保留。我用python和一个单词计数器完成了它,只是想知道它是否可以用更智能的方式完成命令行。

1 个答案:

答案 0 :(得分:7)

tr '\n' ' ' < inputfile | cut -d' ' -f 1-1000000 > outputfile

从inputfile获取前1M个单词(在这种情况下,一个单词是两个空格之间的任何单词)然后将它们在一行输出到outputfile。将它们放在输出中的不同行上(根据@ triplee&#39;评论):

tr ' ' '\n' < inputfile | head -1000000 > outputfile