首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在unix命令行中拆分文件?

如何在unix命令行中拆分文件?
EN

Stack Overflow用户
提问于 2013-03-19 22:03:19
回答 10查看 36.7K关注 0票数 28

我正在为一个朴素的布尔信息检索系统做一个更快的测试,我想使用awk,grep,egrep,sed或类似的东西和管道将文本文件分割成单词,并将它们保存到其他文件中,每行一个单词。示例我的文件包含:

Hola mundo, hablo español y no sé si escribí bien la
pregunta, ojalá me puedan entender y ayudar
Adiós.

输出文件应包含:

Hola
mundo
hablo
español
...

谢谢!

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2013-03-19 22:13:10

使用tr:

tr -s '[[:punct:][:space:]]' '\n' < file
票数 55
EN

Stack Overflow用户

发布于 2017-02-01 19:44:10

最简单的工具是fmt:

fmt -1 <your-file

fmt设计用于换行以适合指定的宽度,如果您提供-1,它会紧跟在单词后面换行。有关文档,请参阅man fmt。灵感来自http://everythingsysadmin.com/2012/09/unorthodoxunix.html

票数 13
EN

Stack Overflow用户

发布于 2013-03-19 22:06:56

使用sed

$ sed -e 's/[[:punct:]]*//g;s/[[:space:]]\+/\n/g' < inputfile

基本上,这会删除所有标点符号,并将所有空格替换为换行符。这还假设您的sed风格理解\n。有些则不是--在这种情况下,您可以只使用文字换行符(即,通过将其嵌入到引号中)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15501652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档