Java|一款開源的文件搜索神器,終于不用記 find 命令了( 二 )



這些簡單的功能已經可以滿足一半的日常搜索需求了 , 接下來我們看看fd 提供的更高級的搜索選項吧!

四、高級搜索選項4.1 按深度選項-d 或 --max-depth <depth> , 當前路徑算深度 1 , dir3 下面的 rs 文件就是深度 4 了 。

4.2 按文件類型選項-t 或 --type <filetype> , fd 提供了以下幾種 filetype 選項:

  • f:file
  • d:directory
  • l:symlink
  • x:executable
  • e:empty
  • s:socket
  • p:pipe

可以看到所有的 rust、rs、sss、soft 都沒有出現在結果集中 。
4.5 按所有者選項-o 或 --owner <user:group>

或者fd -l -o junjiexun:staff 也可以達到同樣的效果 , 但是 fd 不支持單獨搜索 group , 也不支持通配符 , 如果你有想法的話可以給他提 issue 哦~
4.6 組合命令fd 提供了 -x 或 --exec <cmd>、-X 或 --exec-batch <cmd> 來進行對搜索結果集的進一步處理
找到所有和 java 匹配的內容并且刪除!(僅僅用做演示 , rm -rf 慎用)
$ fd java -X rm -rf找到所有的 py 并且通過 vim 打開
$ fd py -X vim還可以使用諸如unzip、ls、convert 等等其他常用的命令 , 也可以直接使用 *unix 語法 | 管道符語法進一步處理 。
4.7 正則表達式對于文件的內容搜索 , 我之前演示的是諸如 Hello、java、py 都是這樣的完整文本 , 實際fd 默認就是支持正則表達式對內容進行搜索的 , 但是正則表達式需要使用單引號 ' 包裹起來 , 我下面演示:將所有 s 開頭的文件都能被搜索出來 。

上面的選項大部分都是可以同時使用的 , 篇幅有限我這里就不繼續演示了 。
五、總結fd 是一個簡單友好的命令行文件搜索工具 , 而且其開源的屬性作為 Rust 源碼學習的對象也是非常優秀的 , 趕緊學起來!覺得本文還不錯的話 , 轉評贊走一波!

相關經驗推薦