iT邦幫忙

0

透過cmd 查詢出某字串的數量

請問有指令可以查出文字檔裡某字串的數量嗎?

舉例:
123.txt內容如下
red 100
blue 200
white 100
yollow 100

有辦法透過cmd指令列印出100有3個嗎? (顯示3而不是顯示全部的100)

蟹老闆 iT邦大師 1 級 ‧ 2021-04-23 02:32:23 檢舉
我也供獻一個

Setlocal ENABLEDELAYEDEXPANSION
@Echo Off
Set File=123.txt
Set String=100
For /f %%i In ('findstr "\<%String%\>" "%File%"') Do Set /A Num=!Num!+1
Echo %Num%
Pause

這個做法是100與1000是有差別的及取出的值只有數字,缺點是大檔時效率較另二位的差

2 個回答

1
Homura
iT邦高手 1 級 ‧ 2021-04-21 16:45:34
最佳解答

用find指令

find /C "100" < 123.txt

成功了 這個方法可行
不好意思補充詢問 那如果列印出來的值要變成變數要怎麼做?

Homura iT邦高手 1 級 ‧ 2021-04-21 18:08:07 檢舉

mars741110
這樣

FOR /F "tokens=*" %a in ('find /C "100" ^< 123.txt') do set count=%a
ECHO %count%

*是拿到全部字串,可以設定長度

謝謝大大

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-04-21 16:47:34
C:\>copy con 123.txt
red 100
blue 200
white 100
yollow 100
^Z
複製了         1 個檔案。

C:\>find /c "100" 123.txt

---------- 123.TXT: 3

C:\>

我要發表回答

立即登入回答