1. vi 模式下的替換命令:
s 表示替換(substitute),g表示全域性搜尋(global search)
:s/vivian/sky/ 替換當前行第乙個vivian 為 sky
:s/vivian/sky/g 替換當前行
所有vivian 為 sky
:n,$s/vivian/sky/ 替換第 n 行開始到最後一行中每一行的第乙個 vivian 為 sky
:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行所有 vivian 為 sky
n 為數字,若 n 為 .,表示從當前行開始到最後一行
:%s/vivian/sky/(等同於 :g/vivian/s//sky/) 替換每一行的第乙個vivian 為 sky
:%s/vivian/sky/g(等同於 :g/vivian/s//sky/g) 替換每一行中所有vivian 為 sky
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#vivian/#sky/# 替換當前行第乙個 vivian/ 為 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/
2. 替換檔案中的字串內容:
find -name '要查詢的檔名' | xargs perl -pi -e 's|被替換的字串|替換後的字串|g'
xargs:find命令把匹配到的檔案傳遞給xargs命令,而xargs命令每次只獲取一部分檔案而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取
的一部分檔案,然後是下一批,並如此繼續下去。
perl:perl -pi -e 在perl 命令中加上-e 選項,後跟一行**,那它就會像執行乙個普通的perl 指令碼那樣執行該**。使用perl不生成轉換過程中的中間檔案,
執行起來很快, -i 引數直接原地編輯檔案。
該命令會替換當前目錄及子目錄下所有符合條件的檔案中符合規則的字串。
3. 替換多個資料夾中的字串:
sed -i "s/原字串/新字串/g" `grep 原字串 -rl 所在目錄`
-i 引數 :直接在原檔案上進行操作
-f∶直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的sed 動作;
-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
注意:最後面的 "grep 原字串 -rl 所在目錄" 不是用單引號引起來的。而是用鍵盤中"~"所在鍵中的"`"引起來的。
sed 命令可以替換多層目錄
Linux常用命令之Linux常用命令實戰知識點
在在複習linux,這是以前做的筆記,分享一下。linux系統 一切皆檔案 操作檔案就是操作linux系統 一 linux版本 1 redhat 企業版 收費 2 centos redhat的社群版 免費 3 ubuntu 4 紅旗 二 linux的特點 1 多使用者 多工 2 豐富的網路功能 3 ...
LINUX常用命令
一 目錄結構 目錄名稱 意 義 vmlinuz 該目錄中存放的是系統核心 bin 該目錄中存放linux的常用命令,在有的版本中是一些和根目錄下相同的目錄。boot 該目錄下存放的都是系統啟動時要用到的程式,當用lilo引導linux時,會用到這裡的一些資訊 dev 該目錄包含了linux系統中使用...
linux 常用命令
ssh 連線 eg.ssh l mike www.mydomain.com or 192.168.0.1 scp 複製 本地 遠端 scp localfile username tohost newfile 遠端 本地 scp username tohost remotefile local 把tx...