瀏覽量:62次
對于單個文件,使用sed命令很容易做到。如果需要替換某個指定文件夾下所有文件,借助grep和sed組合成一條命令也可以輕松搞定。
grep命令可以查找單個文件或文件夾下文件中的內(nèi)容,使用參數(shù)“r”或“-R”可以遞歸查找指定文件夾下的所有文件;參數(shù)“l(fā)”可以讓grep輸出包含指定字符串的文件名,首次匹配成功后立刻停止對同文件的查詢。如果不使用“l(fā)“,grep查詢單個文件時輸出文件中所有包含指定字符串的行,對文件夾查詢時則按照“文件名:包含字符串行”的方式輸出。
將下面的內(nèi)容替換掉。 ://
復(fù)制代碼 代碼如下:
sed -i "s/" sed -i "s/" `ls`
你可能對linux之sed用法 感興趣。
有了上面提到的知識,執(zhí)行批量替換的命令可以寫為: grep "netingcn" -rl /assign-path | xargs sed -i 's/netingcn/' 或 sed -i 's/netingcn/' `grep "netingcn" -rl /assign-path`
還有一種比較復(fù)雜的寫法:
grep "netingcn" * -R | awk -F: '{print $1}' | sort | uniq | xargs sed -i 's/netingcn/'
其中命令awk用于分割字符串、uniq對結(jié)果進(jìn)行除重。
1、網(wǎng)絡(luò)上現(xiàn)成的資料
格式: sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑`
linux sed 批量替換多個文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替換/
sed -i "s/" `grep -rl /home`
exp:sed -i "s/shabi/$/g" `grep shabi -rl ./`
2、自己額外附加 “garden”替換成“mirGarden”
# sed -i "s/garden/mirGarden/g" //sed -i 很簡單
將當(dāng)前目錄下的所有文件內(nèi)的“garden”替換成“mirGarden”
## sed -i "s/garden/mirGarden/g" `ls` //其實也就是ls出多個文件名而已
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認(rèn)后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776