标题: [文本处理] 批处理如何如何处理文本行? [打印本页]
作者: kui198677 时间: 2011-9-10 19:49 标题: 批处理如何如何处理文本行?
我有一个文本123.txt内容为
ua1 aaaaaaaaaa
re4 bbbbbb bbbb
fsd4 ccccccc c cccc
ua1 aaaaaaaaaa
ua1 aaaaaaaaaa
re4 bbbbbb dddd
fsd4 ccccccc c cccc
ua1 bbbbbbbbaaaaaaaaaa
re4 bbbbbb bbbb
fsd4 ccccccc c cccc
ua1 aaaaaaaaaa
df2 fgsfghfghfgjj
如何用批处理判断总共有多少行,
第二列含aaaaaaaaaa的有多少行,含bbbbbb bbbb的有多少行,下面的一样
然后ua1 aaaaaaaaaa一样的有多少行
然后在屏幕上显:
aaaaaaaaaa 共:多少行
bbbbbb bbbb 共:多少行
ua1 aaaaaaaaaa 有几行
作者: awk 时间: 2011-9-10 20:09
总共- gawk "END{print NR}" a.txt
复制代码
- type a.txt | find /c /v ""
复制代码
作者: awk 时间: 2011-9-10 20:15
- gawk "{if($0~/^[^ ]* .*aaaaaaaaaa/)a+=1;if($0~/^[^ ]* bbbbbb bbbb/)b+=1;if($0~/ua1 aaaaaaaaaa/)u+=1;}END{print a,b,u}" a.txt
复制代码
作者: ArdentMan 时间: 2011-9-10 22:59
- @Echo Off&SetLocal EnableDelayedExpansion
- Set "aa=aaaaaaaaaa"
- Set "bb=bbbbbb bbbb"
- Set "ua=ua1 aaaaaaaaaa"
- For /F "delims=" %%i In (a.txt) Do (
- Set "Str=%%i"
- If "!Str!" EQU "%ua%" Set /A _ua+=1
- If "!Str:%bb%=!" NEQ "!Str!" Set /A _bb+=1
- For /F "tokens=2" %%j In ("%%i") Do (
- Set "Var=%%j"
- If "!Var:%aa%=!" NEQ "!Var!" Set /A _aa+=1
- )
- )
- Echo 第二列含%aa%的有%_aa%行
- Echo 含%bb%的有%_bb%行
- Echo %ua%有%_ua%行
- Pause>Nul
复制代码
作者: 545810831 时间: 2011-9-11 09:11
- @echo off
- setlocal enabledelayedexpansion
- set _1=.
- set _2=aaaaaaaaaa
- set _3=bbbbbb bbbb
- :sta
- set a=0
- set /a m+=1
- for /f "delims=" %%i in ('findstr "!_%m%!" 1.txt') do echo %%i&set /a a+=1
- if %m% equ 1 echo 总行数:!a!
- if %m% equ 2 echo 含!_%m%!:为!a!次数
- if %m% equ 3 echo 含!_%m%!:为!a!次数
- if %m% lss 3 goto sta
- pause
复制代码
作者: CrLf 时间: 2011-9-11 15:19
- find /c /v ""<a.txt
- ::获取总行数
- findstr /brc:"[^ ]* bbbbbb bbbb" a.txt|find /c /v ""
- ::查找第二列为指定内容的行数
- findstr /xc:"ua1 aaaaaaaaaa" a.txt|find /c /v ""
- ::查找完全为指定内容的行数
复制代码
作者: xslxslxsl 时间: 2011-9-12 00:27
本帖最后由 xslxslxsl 于 2011-9-12 00:28 编辑
- type 123.txt | find /c /v ""
复制代码
作者: xslxslxsl 时间: 2011-9-12 00:29
版主的真厉害,我都不敢写上来了
作者: Seder 时间: 2011-9-12 01:04
复制代码
- sed -n "/.* *aaaaaaaaaa*/p" test | sed -n "$="
复制代码
- sed -n "/.* *bbbbbb bbbb*/p" test | sed -n "$="
复制代码
- sed -n "/ua1 aaaaaaaaaa*/p" test | sed -n "$="
复制代码
作者: kui198677 时间: 2011-9-12 21:26
看到帖子都是固定的,.我首先说明,我不确定第二列是什么也许是1到1000,或者不同,同写的代码是固定的,
可不可以只要第二列有不同的就显示出来,而且显示不同的行有多少行
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |