Board logo

标题: [文本处理] 求助批处理如何整理下面类型的文本? [打印本页]

作者: misaiya2008    时间: 2023-12-12 23:19     标题: 求助批处理如何整理下面类型的文本?

本帖最后由 misaiya2008 于 2023-12-16 10:54 编辑

下面的文本如何整理成正常的文章格式?主要的问题是行尾没有标点的被换行了,如何将行尾没有标点的句子与下一行合并。

所以糊里糊涂就升职了, 认为没必要研究这个问题。
现实情况是, 在一无背景(你爸不是李刚!); 二无资源
( 你不是清华北大, 也没百万家产); 三无特异功能的前提
下, 还是有很多人, 从服务员、 保安员、 修理工、 农民, 混
成了企业高管甚至老板, 那么, 这些“三无人员” 有什么秘
技呢?
这正是本文准备揭示的秘密。
在正式开始本文之前, 首先说明一个衡量的经济学标准,
那就是:
1、 在成本相同的前提下, 以收获最大为最优。
2、 在收获相同的前提下, 以成本最小为最优。
我曾经遇到过一个广州的移动公司高管, 他对我说, 他
做事情, 最低起始资金至少是一千万, 我听了之后暗暗发笑,
为什么发笑呢?
因为, 企业的经营管理人员, 在企业的实际操作中, 所
以的关键作用之一, 就是“资源放大器” 的作用, 讲究的是
“以小搏大、 平地扣饼、 无中生有、 四两拨千斤”, 以有限
的资源, 创
造出远远超越同行的业绩, 这才是身为经济管理人员的
你我, 所应该具备的价值所在。
随后不久, 我就用实际行动, 证实了我对这位广州移动
高管的嘲笑是多么合理。


链接:https://pan.baidu.com/s/1veF9TwKxzBJLuuNMLqNgjA
提取码:obnh
作者: Batcher    时间: 2023-12-12 23:24

回复 1# misaiya2008


    请把原始文件上传到网盘,以便测试代码。
作者: aloha20200628    时间: 2023-12-13 10:59

本帖最后由 aloha20200628 于 2023-12-13 11:01 编辑


以下代码存为批处理脚本文件(*.cmd/*.bat)
代码第2行定义了行尾中文标点符号链表
  1. @echo off &setlocal enabledelayedexpansion
  2. set "link=" &set "listp=。?;!:"
  3. (for /f "delims=" %%a in (1.txt) do (
  4. set "line=%%a" &set "lastc=!line:~-1!"
  5. for %%c in (!lastc!) do if "!listp!" neq "!listp:%%c=!" (
  6. if defined link ((echo,!link!%%a) &set "link=") else (echo,%%a)) else (set "link=!link!%%a")
  7. ))>2.txt
  8. if defined link (echo,!link!)>>2.txt
  9. endlocal&exit/b
复制代码
用一楼样本测试的结果如下:
所以糊里糊涂就升职了,认为没必要研究这个问题。
现实情况是,在一无背景(你爸不是李刚!);二无资源(你不是清华北大,也没百万家产);三无特异功能的前提下,还是有很多人,从服务员、保安员、修理工、农民,混成了企业高管甚至老板,那么,这些“三无人员”有什么秘技呢?
这正是本文准备揭示的秘密。
在正式开始本文之前,首先说明一个衡量的经济学标准,那就是:
1、在成本相同的前提下,以收获最大为最优。
2、在收获相同的前提下,以成本最小为最优。
我曾经遇到过一个广州的移动公司高管,他对我说,他做事情,最低起始资金至少是一千万,我听了之后暗暗发笑,为什么发笑呢?
因为,企业的经营管理人员,在企业的实际操作中,所以的关键作用之一,就是“资源放大器”的作用,讲究的是“以小搏大、平地扣饼、无中生有、四两拨千斤”,以有限的资源,创造出远远超越同行的业绩,这才是身为经济管理人员的你我,所应该具备的价值所在。
随后不久,我就用实际行动,证实了我对这位广州移动高管的嘲笑是多么合理。

作者: qixiaobin0715    时间: 2023-12-13 14:31

  1. @echo off
  2. for %%i in (。 ? ; ! :) do set %%i=true
  3. setlocal enabledelayedexpansion
  4. (for /f "delims=" %%i in (1.txt) do (
  5.     set "Orilines=%%i"
  6.     set "Orilines=!Orilines:~-1!"
  7.     if defined !Orilines! (
  8.         echo,!MarLines!%%i
  9.         set MarLines=
  10.     ) else (
  11.         set MarLines=!MarLines!%%i
  12.     )
  13. ))>2.txt
复制代码

作者: WHY    时间: 2023-12-14 21:05

  1. PowerShell "$s = (gc 1.txt -ReadCount 0) -join \"`r`n\" -replace '(?<=\P{P})\r\n'; sc 2.txt -Value $s"
复制代码

作者: 小白龙    时间: 2023-12-15 09:17

本帖最后由 小白龙 于 2023-12-15 09:19 编辑
  1. $aa = @'
  2. 所以糊里糊涂就升职了, 认为没必要研究这个问题。
  3. 现实情况是, 在一无背景(你爸不是李刚!); 二无资源
  4. ( 你不是清华北大, 也没百万家产); 三无特异功能的前提
  5. 下, 还是有很多人, 从服务员、 保安员、 修理工、 农民, 混
  6. 成了企业高管甚至老板, 那么, 这些"三无人员" 有什么秘
  7. 技呢?
  8. 这正是本文准备揭示的秘密。
  9. 在正式开始本文之前, 首先说明一个衡量的经济学标准,
  10. 那就是:
  11. 1、 在成本相同的前提下, 以收获最大为最优。
  12. 2、 在收获相同的前提下, 以成本最小为最优。
  13. 我曾经遇到过一个广州的移动公司高管, 他对我说, 他
  14. 做事情, 最低起始资金至少是一千万, 我听了之后暗暗发笑,
  15. 为什么发笑呢?
  16. 因为, 企业的经营管理人员, 在企业的实际操作中, 所
  17. 以的关键作用之一, 就是"资源放大器" 的作用, 讲究的是
  18. "以小搏大、 平地扣饼、 无中生有、 四两拨千斤", 以有限
  19. 的资源, 创
  20. 造出远远超越同行的业绩, 这才是身为经济管理人员的
  21. 你我, 所应该具备的价值所在。
  22. 随后不久, 我就用实际行动, 证实了我对这位广州移动
  23. 高管的嘲笑是多么合理。
  24. '@
  25. sl $HOME\Desktop
  26. sc aa.txt -va $aa -en UTF8
  27. $content = gc "aa.txt"
  28. $fixedContent = ""
  29. $previousLine = ""
  30. foreach ($line in $content)
  31. {
  32. if ($line -match "\p{P}$")
  33. {
  34. $fixedContent += $previousLine + $line + "`r`n"
  35. $previousLine = ""
  36. }
  37. else
  38. {
  39. $previousLine = $previousLine + $line.Trim()
  40. }
  41. }
  42. if ($previousLine.Length -gt 0)
  43. {
  44. $fixedContent += $previousLine.Trim() + "`r`n"
  45. }
  46. $fixedContent | sc "aaa.txt" -enc UTF8
  47. ii aaa.txt
复制代码

作者: misaiya2008    时间: 2023-12-16 10:32

回复 3# aloha20200628


    多谢回复  我去测试一下
作者: misaiya2008    时间: 2023-12-16 10:33

回复 4# qixiaobin0715


    万分感谢
作者: misaiya2008    时间: 2023-12-16 10:33

回复 6# 小白龙


    谢谢
作者: wanghan519    时间: 2023-12-16 11:41

本帖最后由 wanghan519 于 2023-12-16 11:43 编辑
  1. sed -n -E 'H;/[。?:]$/{s/.*//;x;s/\n//g;p}' 1.txt
复制代码
大概意思是,hold住每行,如果以句号问好冒号结尾,就拽回来去掉回车后打印。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2