我正在使用 Ubuntu,我需要从一个大型 .txt 文件生成多个 .txt 文件,该文件在每个新行中都包含一个单词。
脚步:
- 从大的 .txt 列表中取出一个单词,例如foo
- 生成 .txt 并将其命名为 [word].txt,例如foo.txt
- [word].txt 应该只包含 [word],例如foo.txt >contains foo text inside
我发现您可以像这样从命令行生成 .txt:
echo 'Hello, world.' >foo.txt
如何使用大 .txt 文件中的内容批量执行此操作?
像这样的东西应该可以工作,但它不会检查以确保创建的文件名是合法的。此外,如果您有欺骗,它们将被覆盖:
对于大文件,这可能要快得多......
这个答案是为了纠正其他答案中存在的常见缺陷。基本代码应该是这样的:
改进:
printf
代替echo
IFS
your_data_file
如果问题正文中确实包含“每个新行中的一个单词”,则其中一些可能不是绝对必要的。但是您的评论提到处理“一行中包含空格的多个单词”,这需要改进非鲁棒的解决方案。最好从一开始就习惯 shell 脚本的良好实践并编写健壮的代码。