我有一个包含以下输出的文件。
---------- PFIZ_EXT_SEAGRCLMHISD_20141013_1.TXT: 165428
---------- PFIZ_EXT_SEBMODCHKIND_20141013_1.TXT: 0
---------- PFIZ_EXT_SECNSLDND_20141013_1.TXT: 13
---------- PFIZ_EXT_SECNSMRD_20141013_1.TXT: 15788
---------- PFIZ_EXT_SECNSNTD_20141013_1.TXT: 291825
---------- PFIZ_EXT_SECPGNPRD_20141013_1.TXT: 24129
---------- PFIZ_EXT_SEFFLD_20141013_1.TXT: 219599
---------- PFIZ_EXT_SESVYRSPD_20141013_1.TXT: 123284
您能帮我从这个文件中删除开头的新行和“-”吗?
答案1
干得好
for /f "tokens=2,3" %a in (file.txt) do @echo %a%b >> file2.txt
它将删除-
文件名和数字之间的部分和空格,然后将输出写入另一个文件
附言:
我猜这是find
的输出,嗯?
答案2
我已经在你之前的文章中回答过这个问题了问题。
find /v /c "" *.* > result.txt
怎么运行的
/v
反转搜索(因此当我们不搜索任何内容时,我们会找到所有行)/c
计数匹配""
不匹配任何内容*.*
搜索所有文件> result.txt
重定向输出
限制
- 假设 Windows 行尾分隔符正常
\r\n
- 尽管 FIND 可用于扫描大文件,但它不会检测到单行上超过 1070 个字符的任何字符串(没有回车符
\r
),这使得它在搜索二进制或 XML 文件类型时用途有限。
为了删除多余的-空行,我们可以将上述命令包装成for
如下结构:
for /f "usebackq tokens=2-3" %a in (`find /v /c "" *.*`) do echo %a %b >> result.txt