《Disney +》 迪士尼、Marvel、彼思、星球大戰…  《Days Gone》現於PC推出   Nintendo Switch版《國夫君的三國志全員集合!》發售日終於確定!   FIA Certified Gran Turismo Championships於2021賽季隆重回歸   《巴蘭的異想奇境》體驗版於1/28開放下載! 可獲得遊玩特典──能在正式版使用的隱藏服裝!   利用電競創造身障者也能活躍的工作環境!專為身障者打造無障礙電競環境的「ePARA」!   魔物獵人桌遊化?!桌遊版魔物獵人「魔物獵人 世界 The Board Game」隆重登場!   SEGA・ATLUS的TGS2021 Online特設網站更新!SEGA ATLUS CHANNEL節目表一併公開!   『審判之逝:湮滅的記憶』今日9月24日發售!在此將偵探・八神所面臨的全新事件一次統整!【第3回特輯】 

sift:可取代 grep 的快速強大工具程式

商業

sift 預設跟 grep 非常類似,都是要搜尋檔案內容使用的

  • sift 'keyword' filename # 等於 grep 'keyword' filename
  • sift 'keyword' * # 等於 grep 'keyword'

sift:可取代 grep 的快速強大工具程式

sift 號稱速度比較快,此篇是 sift 自己寫的數據:Performance

  • 註:我測試的結果,檔案若太少、或者層數太少,還是 grep 比較快,但是 sift 內建一些功能,Ex: GroupByFile、BinarySkip 等等的,排版會比較好看又快速。

sift 的網站 / GitHub 可見:

sift 安裝

  1. 於此頁面下載 Download
  2. cd /tmp
  3. wget https://sift-tool.org/downloads/sift/sift_0.9.0_linux_amd64.tar.gz
  4. tar xvf sift_0.9.0_linux_amd64.tar.gz
  5. mv /tmp/sift_0.9.0_linux_amd64/sift /usr/bin/sift
  6. 再來就可以直接操作 sift 囉~

sift 設定

  • sift -i -n --binary-skip --git --write-config # 初始化 init 設定檔
  • vim ~/.sift.conf # 修改下述幾個參數
    {
    "BinarySkip": true,
    "Git": true,
    "GroupByFile": true,
    "IgnoreCase": true
    }
    • 註:GroupByFile: 在預設設定有,改成 true,可以將找到的資料排版,比較漂亮

sift 進階的參數範例可見:Samples,下述取自此篇:

  • -x, -X : Filter by file extension
    • sift -x html pattern # 只找 HTML
    • sift -X css,js pattern # 排除 css / js
  • -t, -T : Filter by file type
    • sift -t perl pattern # 只找 Perl (.pl, .pm, .pod, .t or a perl shebang on the first line)
    • sift -T html,xml pattern # 排除 html / xml
  • --path, --exclude-path : Filter by full path
    • sift --path '2015-03-dd/.' pattern # 只找 March 2015 路徑下的檔案
    • sift --exclude-path '2015-03-dd/.' pattern # 排除 March 2015 路徑下的檔案
  • --files, --exclude-files : Filter by file name
    • sift --files 'crypto.c' pattern # Only search in files matching a classic GLOB pattern:
    • sift --exclude-files 'crypto.c' # pattern Exclude files matching a classic GLOB pattern:
  • --dirs, --exclude-dirs : restrict recursion to specific directories
    • sift --dirs 'src' # Only recurse into 'src' directories:
    • sift --exclude-dirs '.git' # Do not recurse into '.git' directories:
Tsung

隨機商業新聞

Addidas