Board logo

标题: [文本处理] [待帮助]批处理提取内容并重新排列内容,谢谢您了 [打印本页]

作者: 灯塔彭于晏    时间: 2021-3-10 16:38     标题: [待帮助]批处理提取内容并重新排列内容,谢谢您了

谢谢您了先。 内容如下:
现有文本a.txt(上传到附件了),内容如下:
  1. 你好你叫什么名字1
  2. 我叫彭于晏<div class="ss"></div>
  3. 成龙,彭于晏,#吴彦祖
  4. wuyanzu
  5. 你好你叫什么名字2
  6. 我叫彭于晏<div class="ss"></div>
  7. 成龙,#彭于晏,吴彦祖
  8. wuyanzu
  9. 你好你叫什么名字3
  10. 我叫彭于晏<div class="ss"></div>
  11. #成龙,彭于晏,吴彦祖
  12. wuyanzu
  13. 你好你叫什么名字4
  14. 我叫彭于晏<div class="ss"></div>
  15. 成龙,彭于晏,#吴彦祖
  16. wuyanzu
复制代码
每组内容中间有2行空格。每组内容的第3行中, 有一个词前面有#号(位置不一定的)逗号为英文状态
需求如下:[1]提取#号的字插入到2行与3行中间, 使之重新排列成5行(原本4行) ; [2] 并去掉文本中的# 。

效果如:
  1. 你好你叫什么名字1
  2. 我叫彭于晏<div class="ss"></div>
  3. 吴彦祖
  4. 成龙,彭于晏,吴彦祖
  5. wuyanzu
  6. 你好你叫什么名字2
  7. 我叫彭于晏<div class="ss"></div>
  8. 彭于晏
  9. 成龙,彭于晏,吴彦祖
  10. wuyanzu
  11. 你好你叫什么名字3
  12. 我叫彭于晏<div class="ss"></div>
  13. 成龙
  14. 成龙,彭于晏,吴彦祖
  15. wuyanzu
  16. 你好你叫什么名字4
  17. 我叫彭于晏<div class="ss"></div>
  18. 吴彦祖
  19. 成龙,彭于晏,吴彦祖
  20. wuyanzu
复制代码
谢谢您了!
作者: qixiaobin0715    时间: 2021-3-10 21:57

本帖最后由 qixiaobin0715 于 2021-3-10 22:36 编辑
  1. @echo off
  2. (for /f "delims=" %%a in ('findstr /n ".*" a.txt') do (
  3.     set "str=%%a"
  4.     setlocal enabledelayedexpansion
  5.     set "str=!str:*:=!"
  6.     if "!str!"=="" (
  7.         echo,
  8.     )else if "!str:#=!"=="!str!" (
  9.         echo,!str!
  10.     ) else (
  11.         for %%b in (!str!) do set "str1=%%b"&if "!str1:~0,1!"=="#" echo,!str1:~1!
  12.         echo,!str:#=!
  13.     )
  14. ))>b.txt
  15. pause
复制代码

作者: flashercs    时间: 2021-3-10 22:10

本帖最后由 flashercs 于 2021-3-10 22:13 编辑
  1. sed -E -e "s/(.*)#(\w*)(.*)/\2\n\1\2\3/" a.txt>b.txt
复制代码
论坛下载sed.exe http://bcn.bathome.net/tool/4.8/sed.exe
作者: 灯塔彭于晏    时间: 2021-3-10 22:27

回复 2# qixiaobin0715


    请问输出到b.txt文本怎么改呢?
作者: qixiaobin0715    时间: 2021-3-10 22:38

回复 4# 灯塔彭于晏
已修改




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