搜尋關鍵字

1
2
3
4
5
6
# -i, --ignore-case  ignore case distinctions,忽略大小寫
# -n, --line-number print line number with output lines,顯示行號
# -r, --recursive recursive,遞迴
# SSLMMS/**/migrations/*.py" 搜尋SSLMMS底下任何目錄裡的migrations目錄含有所有.py檔
$ grep -inr 'streelamp' /tmp/service_django/SSLMMS/**/migrations/*.py

搜尋結果

替換搜尋關鍵字

1
2
3
4
5
6
7
8
9
# grep:
# -l, 只顯示檔名路徑
# xargs: 管線傳遞參數,將上一個指令輸出解析成參數傳遞給下一個指令,此範例是將grep找到的檔案路徑傳給sed
# sed:
# -i, 直接修改讀取的檔案內容,而不是由螢幕輸出。(可先預覽過替代結果再把這參數加入)
# "s/old/new/g", s:替換, g:全域替換,將old替換成new
# "s/old/new/g"可以用:或_來取代,例如: "s:old:new:g" 或 "s_old_new_g"
$ grep -l 'streelamp' /tmp/service_django/SSLMMS/**/migrations/*.py | xargs sed -i "s/related_name='streelamp'/related_name='streetlamp'/g"

grep -l 'streelamp' **/migrations/*.py

修改資料庫名稱

1

Keyword

1