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


俺反复测试完全正常,结果如下:
  1. D:\test>gawk "{if(A)if(B!=$0)if(NF){$0=gensub(/<.*>[ \t]*/,\"\",\"g\");print};A=0}/^楼主/{A=1;B=$0}" 1.txt
  2. 爷爷是传承五代人的
  3. 床尾站着一小仙,男,中批
  4. 那日入定,爷爷带
  5. D:\test>gawk "A;A=0;/^楼主/{A=1}" 1.txt
  6. <divclass="bbs-contentclearfix">  爷爷是传承五代人的
  7. <divclass="bbs-content">  床尾站着一小仙,男,中批
  8. <divclass="bbs-content">  那日入定,爷爷带
复制代码

TOP

回复 6# pd1

试了下,好像有问题啊,是哪里原因?错误信息见下。
批处理当前目录有 333.txt文档,报错后在目录C:\Windows\System32\WindowsPowerShell\v1.0\放入333.txt文档仍会如下报错:
  1. gc : 找不到路径“C:\Windows\System32\WindowsPowerShell\v1.0\333.txt”,因为该路径不存在。
  2. 所在位置 行:6 字符: 4
  3. + $a=gc .\333.txt
  4. +    ~~~~~~~~~~~~
  5.     + CategoryInfo          : ObjectNotFound: (C:\Windows\Syst...ll\v1.0\333.txt:String) [Get-Content], ItemNotFoundEx
  6.    ception
  7.     + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
  8. 无法对 Null 数组进行索引。
  9. 所在位置 行:7 字符: 24
  10. + 0..($a.Length-1) |%{if($a[$_].contains(">楼主")){$_+2}}
  11. +                        ~~~~~~~~~~~~~~~~~~~~~~
  12.     + CategoryInfo          : InvalidOperation: (:) [],RuntimeException
  13.     + FullyQualifiedErrorId : NullArray
  14. 无法对 Null 数组进行索引。
  15. 所在位置 行:7 字符: 24
  16. + 0..($a.Length-1) |%{if($a[$_].contains(">楼主")){$_+2}}
  17. +                        ~~~~~~~~~~~~~~~~~~~~~~
  18.     + CategoryInfo          : InvalidOperation: (:) [],RuntimeException
  19.     + FullyQualifiedErrorId : NullArray
  20. 请按任意键继续. . .
复制代码

TOP

回复 16# hfxiang


    是系统原因吗?我的是Win11系统。
附验证动图 https://wwp.lanzouv.com/izR2l0ednn2b

TOP

回复 18# fzp070


   
俺的电脑太老旧了(2011年买的),目录已用Win10了(已经很卡顿了),win11从没想过尝试安装,有可能是系统问题,但具体原因真不清楚

TOP

回复 19# hfxiang


    好的,谢谢了

TOP

回复 11# fzp070
谢谢,因为实际情况比1楼描述的还复杂一些,保留是可以观察。如果后面我这里整体调试好了,倒是可以参考使用的。
目的,学习批处理

TOP

回复 19# hfxiang
我的电脑应该比你的还早一些。一直使用win7。试了powershell都不能运行。当然我比电脑大很多,所以学技术上很大难度。光一连串的字母,念不了也写不出。因此局限很大。只能在批处理这样简单字母上下下功夫。
目的,学习批处理

TOP

回复 12# hfxiang
谢谢,一直去调试文章了,我试了两个版本的gawk,都是空白的,没有变utf-8。win7 32位
目的,学习批处理

TOP

回复 17# fzp070


    放在bat目录,不用放c盘,ANSI格式

TOP

回复 24# pd1


   是放在bat目录,是 ANSI格式,就是不行啊。可能也是系统差异。

TOP

本帖最后由 WHY 于 2022-10-23 11:23 编辑
  1. sed -r -n "/>楼主:?</{n;p}" a.txt > b.txt
复制代码
  1. gawk "a~/>楼主:?</{print};{a=$0}" a.txt > b.txt
复制代码
  1. PowerShell "sc -Literal '%~dp0b.txt' $(forEach( $s In (gc -Literal '%~dp0a.txt' -Read 0) ){ if($a -match '>楼主:?<'){$s} $a=$s })"
复制代码
  1. PowerShell "gc -Literal '%~dp0a.txt' | Select-String '>楼主:?<' -Context 1 | forEach{ $_.Context.PostContext } | sc -Literal '%~dp0b.txt'"
复制代码
2

评分人数

    • hlzj88: 厉害,感谢了!技术 + 1
    • fzp070: 厉害了!技术 + 1

TOP

回复 26# WHY


    厉害!4个命令中,除了第一个生成空白,其它三个都有效。

TOP

回复  WHY


    厉害!4个命令中,除了第一个生成空白,其它三个都有效。
fzp070 发表于 2022-10-22 20:42


同样,gawk秒好

感谢!
目的,学习批处理

TOP

回复 27# fzp070


    http://bcn.bathome.net/tool/4.4/sed.exe
我用的这个版本

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (a.txt) do (
  4.     if defined s (
  5.         if "!s:>楼主=!" NEQ "!s!" (
  6.             echo;%%i
  7.         )
  8.     )
  9.     set "s=%%i"
  10. )
  11. pause
复制代码
2

评分人数

TOP

返回列表