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

[文本处理] 【已解决】BAT:如何删除或保留指定字符数的行

[复制链接]
发表于 2023-10-10 07:46:40 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2023-10-10 09:36 编辑

d:\data\a.txt 每行数值以空格隔开:
123 258
001
999 888 777 666
555
333 779

【问题1】如何用BAT,删除只有1个数值的行?
结果为:
123 258
999 888 777 666
333 779

【问题2】如何用BAT,删除只有2个数值的行?
结果为:
001
999 888 777 666
555

【问题3】如何用BAT,删除只有1-2个数值的行?
结果为:
999 888 777 666

【问题4】如何用BAT,保留只有1个数值的行?
结果为:
001
555

【问题5】如何用BAT,保留只有2个数值的行?
结果为:
123 258
333 779

【问题6】如何用BAT,保留只有1-2个数值的行?
结果为:
123 258
001
555
333 779
发表于 2023-10-10 08:48:24 | 显示全部楼层
  1. rem 【问题1】如何用BAT,删除只有1个数值的行?
  2. findstr /rvc:"^[0-9][0-9]* *$" a.txt >b.txt

  3. rem 【问题2】如何用BAT,删除只有2个数值的行?
  4. findstr /rvc:"^[0-9][0-9]*  *[0-9][0-9]* *$" a.txt >b.txt

  5. rem 【问题3】如何用BAT,删除只有1-2个数值的行?
  6. findstr /rc:"^[0-9][0-9]*  *[0-9][0-9]*  *[0-9]" a.txt >b.txt

  7. rem 【问题4】如何用BAT,保留只有1个数值的行?
  8. findstr /rc:"^[0-9][0-9]* *$" a.txt >b.txt

  9. rem 【问题5】如何用BAT,保留只有2个数值的行?
  10. findstr /rc:"^[0-9][0-9]*  *[0-9][0-9]* *$" a.txt >b.txt

  11. rem 【问题6】如何用BAT,保留只有1-2个数值的行?
  12. findstr /rvc:"^[0-9][0-9]*  *[0-9][0-9]*  *[0-9]" a.txt >b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢分享

查看全部评分

发表于 2023-10-10 08:52:02 | 显示全部楼层
回复 1# 思想之翼

针对楼主的样本,用gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )实现如下

  1. 【问题 1】如何用 BAT,删除只有 1 个数值的行?
  2. gawk "NF>1" a.txt>b.txt
  3. 结果为:
  4. 123 258
  5. 999 888 777 666
  6. 333 779

  7. 【问题 2】如何用 BAT,删除只有 2 个数值的行?
  8. awk "NF!=2" a.txt>b.txt
  9. 结果为:
  10. 001
  11. 999 888 777 666
  12. 555

  13. 【问题 3】如何用 BAT,删除只有 1-2 个数值的行?
  14. gawk "NF>2" a.txt>b.txt
  15. 结果为:
  16. 999 888 777 666

  17. 【问题 4】如何用 BAT,保留只有 1 个数值的行?
  18. gawk "NF==1" a.txt>b.txt
  19. 结果为:
  20. 001
  21. 555

  22. 【问题 5】如何用 BAT,保留只有 2 个数值的行?
  23. gawk "NF==2" a.txt>b.txt
  24. 结果为:
  25. 123 258
  26. 333 779

  27. 【问题 6】如何用 BAT,保留只有 1-2 个数值的行?
  28. gawk "NF<=2" a.txt>b.txt
  29. 结果为:
  30. 123 258
  31. 001
  32. 555
  33. 333 779
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢分享

查看全部评分

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

本版积分规则

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

GMT+8, 2026-3-18 10:36 , Processed in 0.019036 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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