grep 過濾的命令
阿新 • • 發佈:2018-10-31
1.使用管道進行雙層“過濾”,其中第二次grep使用了-v選項,即逆向匹配,打印出不匹配的行
grep -r 'function_name' * | grep -v '.svn'
2.或者更簡單一些,直接使用--exclude-dir選項,即指定排除目錄,注意svn前的 \. grep -r --exclude-dir=\.svn 'function_name' *
的確,通過簡單的選項設定,我們達到了過濾.svn目錄的功能,但是每次都要輸入 --exclude-dir=\.svn 的選項,似乎太麻煩了一點,幸運的是linux下靈活的配置檔案可以解決這一切: 開啟 ~/.bashrc (這是bash的當前使用者配置檔案),在檔案的最上方新增這樣一條: export GREP_OPTIONS="--exclude-dir=\.svn"
(注意 = 的前後不能有空格,不然在載入該配置檔案時會提示錯誤)
儲存並關閉,同時在命令列鍵入如下命令: source ~/.bashrc (讓bash重新讀取指令碼) 當然,你也可以簡單地關閉shell並重新開啟一個shell視窗
2.或者更簡單一些,直接使用--exclude-dir選項,即指定排除目錄,注意svn前的 \. grep -r --exclude-dir=\.svn 'function_name' *
的確,通過簡單的選項設定,我們達到了過濾.svn目錄的功能,但是每次都要輸入 --exclude-dir=\.svn 的選項,似乎太麻煩了一點,幸運的是linux下靈活的配置檔案可以解決這一切: 開啟 ~/.bashrc (這是bash的當前使用者配置檔案),在檔案的最上方新增這樣一條: export GREP_OPTIONS="--exclude-dir=\.svn"
儲存並關閉,同時在命令列鍵入如下命令: source ~/.bashrc (讓bash重新讀取指令碼) 當然,你也可以簡單地關閉shell並重新開啟一個shell視窗