标题: [文本处理] 【已解决】批处理如何通过标点符号进行分段? [打印本页]
作者: 每天几分 时间: 2022-11-10 10:20 标题: 【已解决】批处理如何通过标点符号进行分段?
本帖最后由 每天几分 于 2022-11-10 13:11 编辑
用正则表达式试过,但效率有点慢。
常用标点符号
[,。?!:;、()%/~‘’“”《》<>——……]
如:
冷风如刀,以大地为砧板,视众生为鱼肉。
万里飞雪,将苍穹作洪炉,溶万物为白银。
雪将住,风未定,一辆马车自北而来,滚动的车轮碾碎了地上的冰雪,却碾不碎天地间的寂寞。
实现如下:
冷风如刀
以大地为砧板
视众生为鱼肉
万里飞雪
将苍穹作洪炉
溶万物为白银
雪将住
风未定
一辆马车自北而来
滚动的车轮碾碎了地上的冰雪
却碾不碎天地间的寂寞
作者: hfxiang 时间: 2022-11-10 11:42
将:- 冷风如刀,以大地为砧板,视众生为鱼肉。
- 万里飞雪,将苍穹作洪炉,溶万物为白银。
- 雪将住,风未定,一辆马车自北而来,滚动的车轮碾碎了地上的冰雪,却碾不碎天地间的寂寞。
复制代码
以ANSI编码格式保存为1.txt
将:- BEGIN {
- FS="[,。?!:;、()%/~‘’“”《》<>——……]"
- }
- {
- for (i = 0; ++i <= NF; ) {
- if ($i) {
- print $i
- }
- }
- }
复制代码
以ANSI编码格式保存为1.awk
下载gawk(http://bcn.bathome.net/tool/4.1.0/gawk.exe)
执行:- gawk -f.\1.awk 1.txt>2.txt
复制代码
结果:- 冷风如刀
- 以大地为砧板
- 视众生为鱼肉
- 万里飞雪
- 将苍穹作洪炉
- 溶万物为白银
- 雪将住
- 风未定
- 一辆马车自北而来
- 滚动的车轮碾碎了地上的冰雪
- 却碾不碎天地间的寂寞
复制代码
作者: hfxiang 时间: 2022-11-10 13:00
方案二,将:- BEGIN {
- RS="[,。?!:;、()%/~‘’“”《》<>——……\n]+"
- }
- {
- print
- }
复制代码
以ANSI编码格式保存为2.awk
执行:- gawk -f.\2.awk 1.txt>2.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |