婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 字符串查找 cmd find命令

字符串查找 cmd find命令

熱門標(biāo)簽:浙江語(yǔ)音外呼系統(tǒng)招商 無錫極信防封電銷卡價(jià)格 95專業(yè)外呼線路是怎么回事 谷歌地圖標(biāo)注錯(cuò)位 沈陽(yáng)電銷 aa專業(yè)電話外呼系統(tǒng) 用電話機(jī)器人取代人工 外呼獲客系統(tǒng) 四川防封電銷卡套餐
我對(duì)findstr是如此的依賴,以至于當(dāng)我向各位講解find命令的時(shí)候,我還得老老實(shí)實(shí)地在cmd窗口中敲下 find /? 這條命令,然后重重地按下回車鍵。

  find /? 的執(zhí)行結(jié)果很快,唰的一下,幫助信息全出來了,與findstr命令10多個(gè)開關(guān)比起來,find僅有5個(gè)開關(guān),算得上小巫見大巫了。

  find命令的基本格式是這樣的:find "要查找的字符串" 要查找的文件,在這里,"要查找的字符串"這個(gè)內(nèi)容是必不可少的,引號(hào)也是必須的。例如:find "bathome" d:\test.txt,表示在D盤根目錄下的文本文件test.txt中查找含有 bathome 這一字符串的所有行。

  find的結(jié)果將會(huì)有兩種情況:

  1、當(dāng)文件中包含要查找的字符串時(shí),將返回這個(gè)字符串所在位置的整行內(nèi)容,具體格式為:第一行是"---------- ×××" (×××表示被查找的文件名,不包括引號(hào)對(duì)),第二行開始才出現(xiàn)包含字符串的整行內(nèi)容;
  2、當(dāng)文件中沒有出現(xiàn)要查找的字符串時(shí),find的結(jié)果僅僅返回"---------- ×××" 這一行內(nèi)容(×××表示被查找的文件名,不包括引號(hào)對(duì))。

  在查找指定字符串的時(shí)候,有的場(chǎng)合需要區(qū)分大小寫,有的場(chǎng)合則對(duì)大小寫并不在意,如何實(shí)現(xiàn)這些需求呢?

  很簡(jiǎn)單,在find的時(shí)候,添加或取消/i開關(guān)就是了,具體用法為:find /i "Abc" test.txt 表示不區(qū)分大小寫,文本內(nèi)容中含有 Abc、abc、ABC之類的都算;find "Abc" test.txt則嚴(yán)格區(qū)分字符大小寫,只能匹配Abc,而不能匹配abc、ABC之類的字符。

  有時(shí)候,我們的需求并不是為了查找到某個(gè)字符串,而是要檢測(cè)哪些行不含有特定的字符串,這個(gè)時(shí)候,可以使用開關(guān)/v,用法為:find /v "Abc" test.txt,它表示查找那些不含字符串Abc的行(Abc要區(qū)分大小寫),如果不區(qū)分abc的大小寫,那么,應(yīng)該寫成 find /i /v "Abc" test.txt。

  有時(shí)候,我們的要求很簡(jiǎn)單,僅僅只是想統(tǒng)計(jì)包含某個(gè)字符串的行總共有多少,這個(gè)時(shí)候,應(yīng)該使用開關(guān)/c,寫成 find /c "abc" test.txt。

  如果要在每行的行首顯示行號(hào),怎么辦?那就寫成 find /n "abc" test.txt 吧,它會(huì)把test.txt的內(nèi)容都顯示出來,與原文不一樣的是,在每行內(nèi)容的行首,都加上了行號(hào)——注意,它僅僅是在顯示的時(shí)候加上行號(hào)而已,并沒有真正改寫文件的內(nèi)容。

  如果你看到這樣的命令:find /i /v /n "Abc" test.txt,請(qǐng)一點(diǎn)要先沉住氣,不要被眾多的開關(guān)弄得眼花繚亂嚇趴下了,仔細(xì)對(duì)照上面的解釋,相信你很快就會(huì)理解它的功能:在test.txt文件中,查找不包含字符串Abc的所有行,并在行首標(biāo)上這些行的行號(hào),查找的時(shí)候,字符串Abc不區(qū)分大小寫。

  要是使用這樣的語(yǔ)句:find /c /n "abc" test.txt,會(huì)出現(xiàn)什么樣的結(jié)果呢?答案是:開關(guān)/n會(huì)被忽略掉,最終結(jié)果不會(huì)顯示帶行號(hào)的行內(nèi)容,只會(huì)顯示匹配的總行數(shù)而已。

  echo abcdef|find "abc",見過這種寫法嗎?它的含義是:在字符串a(chǎn)bcdef中,檢測(cè)是否存在字符串a(chǎn)bc,也就是說,find支持管道符號(hào),把管道符號(hào)之前的語(yǔ)句的執(zhí)行結(jié)果,作為指定字符串的查找對(duì)象,甚至,你可以使用這樣的語(yǔ)句:find "abc" test.txt|find "xyz",它表示在test.txt中查找同時(shí)存在字符串a(chǎn)bc和字符串xyz的行,只要你愿意,你可以繼續(xù)用管道符號(hào)把這個(gè)find語(yǔ)句連接下去,我們把這個(gè)過程稱為多重過濾。

  在前面,我們說過,在 find "要查找的字符串" 要查找的文件 這條命令語(yǔ)句中,引號(hào)是必須的,要是我們要查找的內(nèi)容就是雙引號(hào)本身,那又該怎么辦?

  答案很簡(jiǎn)單:把雙引號(hào)本身先用雙引號(hào)轉(zhuǎn)義,再放到雙引號(hào)對(duì)中,寫成 find """" test.txt 的格式,如果要查找兩個(gè)連續(xù)的雙引號(hào),則應(yīng)該寫成 find """""" test.txt。

  如果你想查找兩行之間的字符塊,我勸你趁早放棄這個(gè)瘋狂的想法,因?yàn)椋琭ind僅僅針對(duì)位于同一行上的字符串,不能查找跨行的字符塊。

  與findstr命令相比,find的功能確實(shí)有限得多,僅僅因?yàn)椴恢С终齽t表達(dá)式這一點(diǎn),就有不少人把它視為雞肋,從而遭到無情的拋棄。

  然而,find并非一無是處,憑借自己的獨(dú)門絕技,在與findstr的競(jìng)爭(zhēng)中,它掙得了一席之地。

  這些獨(dú)門絕技是什么呢?(感謝BatCoder的提醒和zqz0012005的補(bǔ)充)

  1、統(tǒng)計(jì)含指定字符串的總行數(shù)。find /c "abc" test.txt可以統(tǒng)計(jì)test.txt中含有字符串a(chǎn)bc的總行數(shù),而findstr則沒有直接提供該功能,需要配合for語(yǔ)句才能實(shí)現(xiàn);
  2、find可以讀取Unicode格式的文本,而findstr則不行;
  3、find可以過濾某些特殊字符,而findstr則不行,比如,我們?cè)谑褂胒sutil fsinfo drives語(yǔ)句查詢磁盤分區(qū)的時(shí)候,如果想讓盤符分行顯示而不是顯示在同一行上的時(shí)候(這在用for語(yǔ)句提取盤符的時(shí)候很有用),find可以大顯身手,而findstr只能干瞪眼了,具體語(yǔ)句為:fsutil fsinfo drives|find /v ""

標(biāo)簽:煙臺(tái) 興安盟 青島 廣安 連云港 迪慶 南平 常德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《字符串查找 cmd find命令》,本文關(guān)鍵詞  字符串,查找,cmd,find,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《字符串查找 cmd find命令》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于字符串查找 cmd find命令的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 扎赉特旗| 南昌县| 崇仁县| 旺苍县| 黄大仙区| 光泽县| 尼勒克县| 肇源县| 读书| 中江县| 丰县| 商河县| 拜泉县| 威远县| 忻州市| 巴塘县| 龙胜| 湖南省| 富蕴县| 大余县| 开鲁县| 双鸭山市| 玛纳斯县| 涞源县| 岱山县| 莱州市| 辰溪县| 大港区| 莲花县| 集贤县| 泰和县| 永仁县| 台中县| 武穴市| 肥城市| 衡山县| 东辽县| 驻马店市| 德化县| 永嘉县| 田阳县|