Board logo

标题: [文本处理] 求bat,用gawk在文本里第2个 .bat后面增加:123,谢谢 [打印本页]

作者: yyz219    时间: 2023-10-8 16:22     标题: 求bat,用gawk在文本里第2个 .bat后面增加:123,谢谢

求bat,用gawk在文本里第2个 .bat后面增加:123,谢谢
作者: Batcher    时间: 2023-10-8 21:53

回复 1# yyz219


    请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
作者: Five66    时间: 2023-10-9 00:30

是这样子不?
echo :123 >>第二个bat名字.bat
作者: yyz219    时间: 2023-10-9 06:51

是这样子不?
echo :123 >>第二个bat名字.bat
Five66 发表于 2023-10-9 00:30



    好像不行
作者: 77七    时间: 2023-10-9 20:39

  1. @echo off
  2. set n=-1
  3. (for /f "useback tokens=1* delims=[]" %%a in (`find /n /v "" ^<"1.txt"`) do (
  4. set "str=%%b"
  5. setlocal enabledelayedexpansion
  6. if "!str!" neq "" (
  7. if "!str!" neq "!str:*.bat=!" (
  8. if "!str:*.bat=!" neq "" (
  9. set "str2=!str:*.bat=!"
  10. if "!str2!" neq "!str2:.bat=!" (
  11. call :1
  12. )
  13. )
  14. )
  15. )
  16. if !n! equ -1 (
  17. echo=!str!
  18. )
  19. endlocal
  20. ))>2.txt
  21. pause & exit
  22. :1
  23. set /a k=(n+=1)+4
  24. if "!str:~%n%,4!" equ ".bat" (
  25. if defined m (
  26. echo !str:~0,%k%!123!str:~%k%!
  27. exit /b
  28. ) else (
  29. set /a n+=3,m=1
  30. )
  31. )
  32. goto :1
复制代码

作者: yyz219    时间: 2023-10-9 20:51

77七 发表于 2023-10-9 20:39



    谢谢
作者: hfxiang    时间: 2023-10-10 09:06

回复 1# yyz219

可用 sed -i 直接把:123添加在文件的第2个.bat字符串后(是整个文件中的第2个,不是每行的第2个),结果写回1.txt
  1. sed -i -z -r "s/(.bat)/\1:123/2" 1.txt
复制代码

作者: yyz219    时间: 2023-10-10 09:59

回复  yyz219

可用 sed -i 直接把:123添加在文件的第2个.bat字符串后(是整个文件中的第2个,不是每行的 ...
hfxiang 发表于 2023-10-10 09:06



    谢谢




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