日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自己写的 根据编码搜索文件的小工具

發布時間:2023/12/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己写的 根据编码搜索文件的小工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

文件、目錄搜索的小工具

用正則式限制文件名、關鍵字、目錄


開始是專門為了搜索GBK和UTF8兩種編碼的文件,現在可以制定多種編碼方式來搜索文件

本科生,代碼可能很不規范

因為windows下好像沒有grep,win7默認的搜索用起來也不習慣,search my file也不支持搜索中文,所以開始試著按自己想法嘗試寫這個東西用來搜源碼文件。


做了個很粗陋的GUI,在缺少-f參數時會啟動圖形界面

https://github.com/wo4li2wang/MSearcher

粗陋的成品

http://dl.vmall.com/c01z8rm42e


參數

? -f ?搜索的文件夾,可以用正則式表示
? -k ?搜索文件包含的關鍵字,可以用正則式表示,沒有這個參數則根據n參數搜索匹配的文件名
? -n ?文件名,可以用正則式表示,如果為空則視為 .(匹配任何文件)
? -s ?單獨列出名字含有關鍵字的文件和目錄
? -i ?忽略正則式的大小寫
? -e ?限制編碼方式,沒有這個參數默認同時支持GBK和UTF8(先根據GBK查找,然后用UTF8查找),多個編碼用'&'連接

特殊符號

? & ?連接多個參數表示存在這些參數中的一個即匹配, 如 -k &haha&hehe 匹配包含 haha 或者包含 hehe 的文件
? | ?連接多個參數表示必須存在這些參數, 如 -k |haha|hehe 匹配同時含有haha和hehe的文件,同時出現'&'和'|',以'|'為準
? ^ ?連接多個參數表示不允許存在的參數, 如 -k &haha&hehe^hoho 匹配包含 haha 或者包含 hehe 但不允許出現 hoho 的文件,出現在-f參數后面如果為路徑表示排除路徑,為目錄名則是排除所有這個名字的目錄



注意:
? windows的console 中'&' '|' '^' 要用 '^&' '^|' '^^' 表示
? linux的terminal 中'&' '|' '^' 要用 '&' '|' '^' 表示

關鍵詞 -f -n -k 與 & | ^整合使用


-f 表示目錄名

????-f C:\a\&C:\b\ ????????????????????表示在這兩個文件夾下搜索

? ? -f C:\a\&C:\b\^..理工 ????????表示在這兩個文件夾下搜索,跳過名為'XX理工'的文件夾


-n 表示文件名

? ? -n &.*?\.txt&.*?\.lua ? ? ? ? ? ?表示搜索文件后綴可以為txt或lua中的一個

? ? -n ^.*?\.txt^.*?\.lua ? ? ? ? ? ?表示搜索文件后綴不能為txt或lua,同時出現&和^以 ^優先


-k 表示關鍵字

? ? -k &武漢&理工 ? ? ? ? ????? ?????表示搜索文件內容包含''武漢和'理工'的文件,出現任意一個關鍵詞即可

? ? -k |武漢|理工 ????? ? ? ??????? ?????表示搜索必須包含''武漢和'理工'的文件,同時出現&和|以 |優先

? ? -k &武漢&理工^馬房山 ? ? ? 搜索包含''武漢和'理工',但不許出現'馬房山'字樣的文件


例子

在testFolder目錄下搜索名字由字母組成并帶字母后綴的文件
? java -jar MSearcher.jar -f C:\testFolder -n [a-zA-Z]+.[a-zA-Z]+

在testFolder目錄下搜索任何包含java(-i不區分大小寫)字樣的文件
? java -jar MSearcher.jar -f C:\testFolder -k java -i

在testFolder目錄下搜索任何包含'理工'字樣的文件,只用GBK和GB2312兩種編碼方式讀取文件內容
? java -jar MSearcher.jar -f C:\testFolder -k 理工 -e GBK&GB2312

在testFolder目錄下搜索包含'武漢理工大學'字樣的文本(默認支持GBK和UTF8),并列出名字包含'武漢理工大學'字樣的文件和目錄(-s參數)
? java -jar MSearcher.jar -f C:\testFolder -n .?-k 武漢理工大學 -s

在C:\testFolder和C:\testFolder2兩個目錄下搜索 txt或者lua 格式的文件 ,包含關鍵字'武漢理工大學'或者包含'泰晤士報',但不允許出現'空調字樣'的文件
? java -jar MSearcher.jar -f C:\testFolder&C:\testFolder2 -n .?.txt&.?.lua -k 武漢理工大學&泰晤士報^空調

注意:
1.空格只是為了看起來明顯,解析時參數可以不用空格隔開。
2.關鍵字(-f -n -k 這些參數后面的搜索內容)中出現 % & | ^ - 這些特殊符號要用 %% %& %| %^ %- 來轉義表示
? 比如 java -jar MSearcher.jar -f C:\testFolder -n .* -k 武漢理工%&大%^學 表示搜索的關鍵字為 武漢理工&大^學?
(正在做還沒做完)
3.后續想添加 -c 參數,支持在壓縮文件(rar、zip、tar.gz)中搜索壓縮的文件
4.后續想添加 -u 限制文件的修改時間, -l 限制文件的大小
5.正在做GUI,在沒有-f參數的情況下啟動gui界面



























轉載于:https://my.oschina.net/tdONEmadao/blog/342102

總結

以上是生活随笔為你收集整理的自己写的 根据编码搜索文件的小工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。