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

[文本处理] 批处理怎样把最后列的数子不等于0 所在的行抽出?

[复制链接]
发表于 2023-10-31 11:31:06 | 显示全部楼层 |阅读模式
最后列的数子不等于0 所在的行抽出

OBJECTID        land_type        local_gove        update_inf        common_id        image_name        Shape_Length        Shape_Area        UPDATETYPE_C
3879        200        313718        0        19912553        23FEB28015110-S3XS_R8C1-016028463460_01_P001.TIF        0.001353034        4.72202E-08        3
3885        100        313718        0        19912559        23FEB28015016-S3XS_R08C2-016028463410_01_P001.TIF        0.001190672        4.72647E-08        0
3886        200        313718        0        19912561        23FEB28015016-S3XS_R07C3-016028463410_01_P001.TIF        0.001025997        4.72988E-08        3
3887        200        313718        0        19912562        23FEB28015016-S3XS_R08C3-016028463410_01_P001.TIF        0.000923522        4.72942E-08        0
3888        200        313718        0        19912564        23FEB28015016-S3XS_R07C3-016028463410_01_P001.TIF        0.000884924        4.73243E-08        0
3890        200        313718        0        19912566        23FEB28015016-S3XS_R08C3-016028463410_01_P001.TIF        0.001543841        4.73363E-08        3
3891        200        313718        0        19912572        23FEB28015110-S3XS_R8C1-016028463460_01_P001.TIF        0.001262402        4.74156E-08        0
3918        200        313718        0        19912604        23FEB28015110-S3XS_R8C1-016028463460_01_P001.TIF        0.001030268        4.76912E-08        0
3919        200        313718        2        19912605        23FEB28015016-S3XS_R08C3-016028463410_01_P001.TIF        0.001479133        1.12335E-07        4
3920        200        313718        0        19912606        23FEB28015110-S3XS_R8C1-016028463460_01_P001.TIF        0.001183872        4.77112E-08        0
3921        200        313718        0        19912607        23FEB28015110-S3XS_R8C1-016028463460_01_P001.TIF        0.001557441        4.77183E-08        0
发表于 2023-10-31 11:54:34 | 显示全部楼层
回复 1# freddy_fu


    请把需要处理的原始文件上传到网盘,以便测试代码。
发表于 2023-10-31 12:48:43 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (1.txt) do (
  3.      if defined str (
  4.         for %%a in (%%i) do set n=%%a
  5.         if !n! neq 0 echo %%i
  6.      ) else echo %%i&set str=1
  7. )
  8. pause
复制代码
发表于 2023-10-31 12:53:30 | 显示全部楼层
如果列的分隔符是空格,则下面代码引号中的字符就是“空格+0”;如果分隔符是水平制表符,则是“水平制表符+0”:
  1. findstr /v /e /c:" 0" 1.txt>2.txt
复制代码
发表于 2023-10-31 15:26:53 | 显示全部楼层
回复 1# freddy_fu
如不介意第3方工具,则
gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )方法如下

  1. gawk "!/0$/" 1.txt>2.txt
复制代码
sed( http://bcn.bathome.net/tool/4.9/sed.exe )方法如下

  1. sed "/0$/d" 1.txt>2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 09:14 , Processed in 0.014594 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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