麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > BAT > 正文

批處理入門手冊之批處理常用DOS命令篇(find findstr)

2020-03-29 19:52:20
字體:
來源:轉載
供稿:網友

1.4 學習 find  findstr 命令

學習要點:
1.字符串查找:find
2.字符串查找增強:findstr

一.字符串查找:find

在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

  /V        顯示所有未包含指定字符串的行。
  /C        僅顯示包含字符串的行數。
  /N        顯示行號。
  /I        搜索字符串時忽略大小寫。
  /OFF[LINE] 不要跳過具有脫機屬性集的文件。
  "string"   指定要搜索的文字串,
  [drive:][path]filename   指定要搜索的文件。


基本格式:find "要查找的字符串" 要查找的文件(不在當前目錄則需要給出完整路徑)

例1
find "abc" d:/abc.txt
在abc.txt中查找字符串abc的行。


/I 搜索字符串時忽略大小寫。

例2
find /i "abc" d:/abc.txt
參數/i代表的是“Ignore”(忽略),也就是忽略大小寫。通過/I 參數可以不區分要查找的字符串“abc”的大小寫。


/N 顯示行號。

例3
find /n "abc" d:/abc.txt
參數/n代表英語單詞“Number”(號碼).。通過/n參數我們可以查找到字符串"abc"所在的行號。


/C 僅顯示包含字符串的行數。

例4
find /c "abc" d:/abc.txt
參數/c是英語單詞“Count”(計數)的縮寫。通過/c參數我們可以統計包含"abc"字符串的行數。


/V  顯示所有未包含指定字符串的行。

例5
find /v "abc" d:/abc.txt
這個參數用于找出文件中不包含指定字符串的行。在這里表示查找不包含"abc"字符串的行。

注意:find命令中要查找的字符串一字要用雙引號" "括起來。

二.字符串查找增強:findstr

在文件中尋找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

  /B        在一行的開始配對模式。
  /E        在一行的結尾配對模式。
  /L        按字使用搜索字符串。
  /R        將搜索字符串作為一般表達式使用。
  /S        在當前目錄和所有子目錄中搜索
              匹配文件。
  /I         指定搜索不分大小寫。
  /X        打印完全匹配的行。
  /V        只打印不包含匹配的行。
  /N        在匹配的每行前打印行數。
  /M        如果文件含有匹配項,只打印其文件名。
  /O        在每個匹配行前打印字符偏移量。
  /P        忽略有不可打印字符的文件。
  /OFF[LINE] 不跳過帶有脫機屬性集的文件。
  /A:attr   指定有十六進位數字的顏色屬性。請見 "color /?"
  /F:file   從指定文件讀文件列表 (/ 代表控制臺)。
  /C:string 使用指定字符串作為文字搜索字符串。
  /G:file   從指定的文件獲得搜索字符串。 (/ 代表控制臺)。
  /D:dir    查找以分號為分隔符的目錄列表
  strings   要查找的文字。
  [drive:][path]filename  指定要查找的文件。

除非參數有 /C 前綴,請使用空格隔開搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或
"there" 。  'FINDSTR /C:"hello there" x.y' 在文件 x.y 尋找 "hello there"。


1.基本格式:findstr " strings " [drive:][path]filename

Strings  是要查找的內容。
[rive:][path]filename  指定要查找的文件,路徑可缺省,缺省情況下為當前目錄。

例1
findstr "icq" 123.txt
在123.txt中查找包含有“icq”這三個字符串的行。


/I  指定搜索不分大小寫。

例2
findstr /i "MSN" 123.txt
在123.txt中查找包含有“MSN”這三個字符的行,且不區分大小寫。


★/R 將搜索字符串作為正則表達式使用。參數/R 強調以正則表達式規則來解讀字符串。R - Right 右即為正。我們
都說右手是正手,因此引申為右為正,左為反。

例3
findstr /r "icq msn" 123.txt
在123.txt中查找包含有 “icq”或“msn”的行,查找的多個字符串間用空格隔格開。


 /S 在當前目錄和所有子目錄中搜索。

例4
findstr /s /i "MSN" *.txt
在當前目錄和所有子目錄中的txt文件中搜索字符串"MSN"(不區分字母大小寫)。


/C:string 使用指定字符串作為文字搜索字符串。

例5
findstr /c:"icq msn" 123.txt
在123.txt中查找包含有 “icq msn”這幾個字符的行。注意,這里“icq msn”是一整體的。
此參數多用于查找含有空格的字符串。


★在使用 findstr "我 你 他" test.txt 的時候,并不能查找到內容,但是,加上開關 /i 或者 /r 之后就正確無誤
了,可能是在查找多個純中文字符串的時候的一個bug吧;單個的純中文字符串沒有任何問題。

 

2.findstr 命令中正則表達式的用法規則

一般表達式的快速參考:
  .        通配符: 任何字符
  *        重復: 以前字符或類別出現零或零以上次數
  ^        行位置: 行的開始
  $        行位置: 行的終點
  [class]  字符類別: 任何在字符集中的字符
  [^class] 補字符類別: 任何不在字符集中的字符
  [x-y]    范圍: 在指定范圍內的任何字符
  /x       Escape: 元字符 x 的文字用法
  /<xyz    字位置: 字的開始
  xyz/>    字位置: 字的結束


● 通配符和重復符規則,即 . 和 *
通配符,即一個句點,代表任何一個字符,而且只能是一個,包括字母、數字、半角符號還有空格。
重復符,即型號* 代表前面字母的出現次數(出現次數從0到多次,0表示沒有)。

findstr . 123.txt 或 findstr "." 123.txt
在文件123.txt中查找任意字符,不包括空行。

例6
findstr .* 2.txt 或 findstr ".*" 2.txt
在文件123.txt中查找任意字符,包括空行。

例7
findstr ac* 123.txt
在文件123.txt中查找出現一個“a”字符串,以及a后面出現過0次或者任意次c的字符行。
如:
a
ac
acc
addc
等都匹配。

例8
findstr ak5* 123.txt
在文件123.txt中查找出現一個“ak”字符串,以及ak后面出現過0次或者任意次5的字符行。如:
ak
ak5
akbbb
ak125
ak555
等都匹配。


●行首、行尾符規則,即 ^ 和 $

例9
findstr "^step" 123.txt
在文件123.txt中查找行首為step字符串的行。
如:
stepkdka
step 456
這兩行都匹配的。

例10
findstr "step$" 123.txt
在文件123.txt中查找行尾為step字符串的行。
如:
123 dstep
123step
這兩行也匹配的。

例11
findstr "^step$" 123.txt
在文件123.txt中查找行首為step,且行尾也為step的行,即step獨自一行。


● 字符集規則,即[class]
①表示含有集里的任意一個字符的即匹配。
②該字符集里的元素可以是字母和數字和一般的半角字符,如:}{ ,.][等,但雙引號"不被識別。不能是漢字, 漢字
不被正確解釋(漢字不是ASCII碼)。
如果在字符集內插入通配符和重復符號,即"[.*]"將會把. 和 *視為普通字符,沒有通配和重復的含義。

例12
findstr "[0-9]" 123.txt
在文件123.txt中查找數字0-9的任意之一的行。
如:
4kkb
1 lkka cc
這兩行都匹配。

例13
findstr "[a-zA-Z]" 123.txt
在文件123.txt中查找包括任意字母行。

例14
findstr "[abcezy]" 2.txt
在文件123.txt中查找包括a b c e z y其中任意一字母的行。

例15
findstr "[a-fl-z]" 2.txt
在文件123.txt中查找小寫字符a到f 或l到z的任意一字母的行,但不包含g h I j k這幾個字母。

例16
findstr "M[abc][123]Y" 2.txt
在文件123.txt中查找可以匹配 Ma1Y , Mb1Y, Mc1Y; Ma2Y , Mb2Y, Mc2Y; Ma3Y , Mb3Y, Mc3Y的行。


● 減法規則,即[^class]

例17
findstr "[^0-9]" 123.txt
如果是純數字的行便過濾掉,例如2323423423 這樣的字符串被過濾,345hh888這樣的形式則過濾不了。
注意,純數字的行不能有空格,不論行首行尾或者是行中都不能有空格,否則過濾失敗!

例18
findstr "[^a-z]" 123.txt
如果是純字母的行便過濾掉,例如 sdlfjlkjlksjdklfjlskdf 這樣的字符將被過濾,如果是sdfksjdkf99999這樣的形
式則過濾不了。
注意,純字母的行不能有空格,不論行首行尾或者是行中都不能有空格,否則過濾失敗!

例19
findstr "[^add]" 123.txt
過濾僅含有由a d d三個字母組成的純字母字符串的行。
如:
a
ad
ddaadd
dd
這些行都會被過濾。
注意,僅含有由a d d三個字母組成的純字母字符串的行不能有空格,不論行首行尾或者是行中都不能有空格,否則
過濾失敗!

例20
findstr "[^echo]" 123.txt
過濾僅含有由e  c  h  o 四個字母組成的純字母字符串的行。
如:
e
c
ec
cho
chooo
這些行都會被過濾。


●單詞前綴后綴定位規則,即/<xyz和xyz/>

該xyz可以是英文單詞或數字,但不適用于漢字。符號 / 理解為轉義符,化解小于號和大于號的重定向命令含義。
該規則是匹配類似單個英文單詞的。

例21
findstr "/<echo" 123.txt
所有含有以echo為前綴的字符串的行,都匹配。
如:
echo:kkk a add
jjkk echo
這兩行都匹配。
(思考:為什么:echo也匹配?)

例22
findstr "echo/>" 123.txt
所有含有以echo為后綴的字符串的行,都匹配。
如:
qq bbecho 這一行也匹配。
(思考:為什么kkkk echo:也匹配?)

例23
findstr "/<end/>123.txt
這里是用來精確查找單詞。查找單詞end的行,
注意:
ended
cdkend
bcd-end-jjkk
這類詞都不匹配。
(思考:為什么end echo和end也匹配?因為/<xyz/>格式要查找的是單個英文單詞。)


● 轉義符 /
把表達式中的特殊字符(元字符)轉化為普通字符。常見寫法:
/.
/*
//
/[
/]??
/-

例24
findstr "/.abc" 123.txt
在文件123.txt中查找可以匹配“.abc”字符串的行,這里/。是把。給轉義了。

例25
findstr "1//" 123.txt 或findstr "1////" 123.txt
在文件123.txt中查找可以匹配“1/”字符串的行,這里//是把/給轉義了。

★要查找的字符串含有/時,可以用//把/給轉義;或者把/變成////。如果目標字符串的/后面還有內容,則搜索字符
串/除了要變成//(本身的轉義要求),還可以在它后面再加一個字符,如//.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕精品在线播放 | 久久精品视频亚洲 | 深夜福利久久久 | 国产黄色录像片 | 免费一级毛片观看 | 国产在线精品区 | 九九热在线免费观看视频 | 青草久久久久 | omofun 动漫在线观看 | 神马视频我不卡 | 精品亚洲在线 | 一级电影在线观看 | 日本高清黄色片 | 久久精品国产清自在天天线 | 在线成人免费观看视频 | 在线播放黄色网址 | av电影在线网 | 中文字幕在线观看1 | 久久综合综合 | 蜜桃久久一区二区三区 | 久久久精品视频网站 | 久久精品欧美一区二区 | 国产成人在线免费观看视频 | 久久免费视频5 | 黄污网站在线 | 免费亚洲视频在线观看 | 天天干导航 | 日本一区二区高清不卡 | 免费毛片视频 | 羞羞视频免费网站含羞草 | 色网在线视频 | 新久草视频 | 国产精品成人久久 | 精品国产一区二区亚洲人成毛片 | 91网站在线播放 | 涩涩屋av | 日本xxxx色视频在线观看免费, | 99精品欧美一区二区 | 久久综合久久美利坚合众国 | 国产成人综合在线视频 | 媚药按摩痉挛w中文字幕 |