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

egg*_*elf 0 linux bash shell

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

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

Jos*_*lly 7

是.

tr '\n' ' ' < inputfile | cut -d' ' -f 1-1000000 > outputfile
Run Code Online (Sandbox Code Playgroud)

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

tr ' ' '\n' < inputfile | head -1000000 > outputfile
Run Code Online (Sandbox Code Playgroud)