[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何删除含A内容以上文本、及含B内容以下文本,保留中间的文本?

本帖最后由 kidzgy 于 2023-8-5 21:03 编辑
  1. [删除的内容]
  2. [删除的内容]
  3. [删除的内容]
  4. Array.prototype.p = Array.prototype.push;   [本行也删除]
  5. [保留的内容]
  6. [保留的内容]
  7. [保留的内容]
  8. [保留的内容]
  9. [保留的内容]
  10. delete(Array.prototype.p);     [本行也删除]
  11. [删除的内容]
  12. [删除的内容]
  13. [删除的内容]
复制代码
须注意:【Array.prototype.p = Array.prototype.push; 】 【delete(Array.prototype.p); 】内容在全文搜索均仅有一个结果,如何删除【Array.prototype.p = Array.prototype.push; 】本行内容及以上的所有文本、【delete(Array.prototype.p); 】本行内容及以下的文本?且最终的效果是保留内容上下无空白行?

预期效果如下:
  1. [保留的内容]
  2. [保留的内容]
  3. [保留的内容]
  4. [保留的内容]
  5. [保留的内容]
复制代码
测试文件:
由于压缩包超过50KB,无法上传至此,故用外链。测试文件系由Snap2HTML生成的html文件。
https://wwi.lanzoup.com/iUDU114kcw4j


我刚刚灵光一闪,换了个思路,发现【findstr /i "D.p([" %1 > "temp.html"】这样的方法即可提取出所需的内容。
由于生成多个的html是可以拼接的,还是很好奇,如何运用开始的思路来分离文本?

77七 发表于 2023-8-5 01:31



   
回复  kidzgy
可试一下第3方工具sed (  )
hfxiang 发表于 2023-8-5 09:24



  两个输出都是空白文件

TOP

回复 7# Five66


   

提示D:\Personal\Desktop\123.bat(19, 5) Microsoft JScript 运行时错误: 输入超出了文件尾


现在已在楼主层附上测试文件。

TOP

回复 13# 77七


   感谢解答,这个似乎有局限性,用楼主层的文件测试是没有问题的,因为处理的代码比较短,我用另外一个文件测试,会提示 FINDSTR: Line 772 is too long.

这个是新的测试文件:
https://wwi.lanzoup.com/imB4X14kr4kh

TOP

另外想请教个问题:
  1. gawk -v "IGNORECASE=1" "{print $0=gensub(/quest2/,\"xyz\",\"g\")>\"test.html\"}" test.html
复制代码
我用上述代码,读取文件和生成文件指向同一个文件的时候,会导致内容缺失。不知道是什么原因?我有时候修改其他文件的时候倒没有这个问题。




或许可以吧
jyswjjgdwtdtj 发表于 2023-8-5 21:16


vbs代码执行时弹错。

TOP

本帖最后由 kidzgy 于 2023-8-6 10:36 编辑

回复 17# wanghan519

在gawk使用 【-i inplace】参数时,即【gawk -i inplace '{ gsub(/foo/, "bar") }; { print }' "test.html"】,会提示以下:
  1.     gawk: fatal: cannot open source file `inplace' for reading: No such file or directory
复制代码


不知道是哪里出了问题

更正:
不好意思,原来akw 和gawk不是同一个东西的嘛,所以如果要直接修改源文件的话,只能用sed -i 了?

TOP

回复 16# Five66

回复 19# aloha20200628

感谢两位,经测试,非常完美!

TOP

回复 22# aloha20200628


    哈哈,其实我在楼主层末段已经说明了同样的方法。

TOP

返回列表