2012-06-01 508 views

回答

20

當然,你可以使用sed或awk來做到這一點。 sed示例:

sed -i 's/Andrew/James/g' /home/oleksandr/names.txt 
0

通常使用awk或sed這樣的工具。

$ sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt 
1

您可以用sed來做到這一點:

sed -i 's/toreplace/yoursetting/' configfile 

sed的可能是目前在每一個類Unix系統在那裏。如果您要更換多個occurence可以在G添加到S-命令:

sed -i 's/toreplace/yoursetting/g' configfile 

要小心,因爲這會徹底摧毀你的CONFIGFILE如果不正確地指定toreplace價值。 sed還支持搜索和替換中的正則表達式。

3
sed -i 's/variable/replacement/g' *.conf 
6

您可以使用sed執行搜索/替換。我通常是從一個bash shell腳本做到這一點,並移動原始文件包含的值被取代爲新的名稱,然後運行的sed寫輸出到我原來的文件名是這樣的:

#!/bin/bash 
mv myfile.txt myfile.txt.in 

sed -e 's/PatternToBeReplaced/Replacement/g' myfile.txt.in > myfile.txt. 

如果你不」 t指定一個輸出,替換將轉到stdout。

1
filepath="/var/start/system/dir1" 
searchstring="test" 
replacestring="test01" 

i=0; 

for file in $(grep -l -R $searchstring $filepath) 
do 
    cp $file $file.bak 
    sed -e "s/$searchstring/$replacestring/ig" $file > tempfile.tmp 
    mv tempfile.tmp $file 

    let i++; 

    echo "Modified: " $file 
done 
+0

你可以在你的代碼中檢查'輸入代碼在這裏嗎?它可能不應該在那裏。順便說一下:在大多數情況下,在解決方案中提供註釋是一個好主意,或者至少總結您選擇解決問題的方法。 –