找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21198|回复: 7

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

[复制链接]
发表于 2023-10-8 16:22:44 | 显示全部楼层 |阅读模式
求bat,用gawk在文本里第2个 .bat后面增加:123,谢谢
发表于 2023-10-8 21:53:29 | 显示全部楼层
回复 1# yyz219


    请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
发表于 2023-10-9 00:30:07 | 显示全部楼层
是这样子不?
echo :123 >>第二个bat名字.bat
 楼主| 发表于 2023-10-9 06:51:17 | 显示全部楼层
是这样子不?
echo :123 >>第二个bat名字.bat
Five66 发表于 2023-10-9 00:30



    好像不行
发表于 2023-10-9 20:39:20 | 显示全部楼层
  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
复制代码

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-10-9 20:51:16 | 显示全部楼层
77七 发表于 2023-10-9 20:39



    谢谢
发表于 2023-10-10 09:06:15 | 显示全部楼层
回复 1# yyz219

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

  1. sed -i -z -r "s/(.bat)/\1:123/2" 1.txt
复制代码

评分

参与人数 2技术 +2 收起 理由
77七 + 1 理解到位!我理解错了
yyz219 + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-10-10 09:59:21 | 显示全部楼层
回复  yyz219

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



    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 12:02 , Processed in 0.021114 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表