vi/emacs/shell 搜索文件中的特定字符串

1.如何在某一目錄及其子目錄下查找含有特定字符串的所有文件?

grep -rl "string" /path

Or

find /path -type f -exec grep -l "string" {} \;

2.如何在某一目錄及其子目錄下查找含有特定字符串的所有記錄行?

find . -name "*.txt" -print | xargs grep -n "hello" 

3.如何打印出制定文件中含有特定字符串的行?

sed -n '/pattern/p' file_name

Or

awk '/pattern/ {print}' file_name

4.如何使用Emacs打開多個文件,搜索特定的字符串

  1. 打開多個文件: emacs -nw file1.txt file2.txt file3.txt
  2. C-x C-b 列出所有的緩衝區,C-x o定位到緩衝區,移動光標選擇某一個文件打開或者使用C-x b然後輸入文件名打開指定文件緩衝區
  3. M-<移動到緩衝區的開頭;M->移動到緩衝區的結尾
  4. C-s C-r匹配字符,到達目標時按Enter或C-g來終止搜索
  5. 切分窗口:C-x 1(垂直切分),C-x 2(水平切分),可以一次查看多個文件。定位到其他打開的窗口:C-x o或者
    功能 描述
    M-x windmove-up 移動到正好位於當前窗口上方的窗口,如果該窗口存在的話。
    M-x windmove-down 移動到正好位於當前窗口下方的窗口,如果該窗口存在的話。
    M-x windmove-left 移動到正好位於當前窗口左邊的窗口,如果該窗口存在的話。
    M-x windmove-right 移動到正好位於當前窗口右邊的窗口,如果該窗口存在的話。

關閉窗口:

  1. 關閉當前緩衝區C-x k
  2. 關閉當前窗口C-x 0;關閉除了當前窗口之外的窗口C-x 1;kill-buffer-and-window: C-x 40
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章