⑴ 如何在linux環境下實現txt文本的字元串替換
#!抄/usr/bin/python
import sys
fin=open(sys.argv[1])
fout=open(sys.argv[1]+'.new',"w")
line=fin.readline()
while line!='':
line=line.replace(sys.argv[2],sys.argv[3])
fout.write(line)
line=fin.readline()
fin.close()
fout.close()
各linux里基本都有python的,將上襲面保存為rp.py,替換某文件中字元串格式
./rp.py ~/tmp.txt aaa xxx 將自己家目錄中的tmp.txt中所有aaa替換為xxx
新產生的文件也在tmp.txt目錄中,叫tmp.txt.new
⑵ linux變數字元串替換問題
換個角度,替換/bin為/BIN就不會有錯啦
echo${path//bin//BIN}
其中/前面要加轉義符
或者用sed來替換,
echo$path|版sed's#/bin#/BIN#g'
格式為s#A#B#,將A替換為B。
後面權加個g表示全局替換,即替換所有出現的。
也可以這樣寫:
echo$path|sed's#[^s]bin#/BIN#g'
[^s]在正則中表示不是s的一個字元。這里只有兩種情況,一種是sbin,一種是/bin,這樣sbin就可以被排除了。