是否可以使用shell在文件中搜索並替換值?當我安裝服務時,我希望能夠在配置文件中搜索變量,然後用該值替換/插入我自己的設置。在shell腳本中查找和替換
8
A
回答
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
-1
看那UNIX power tools的awk,sed的,grep的和in-place edit of files用Perl。
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
你可以在你的代碼中檢查'輸入代碼在這裏嗎?它可能不應該在那裏。順便說一下:在大多數情況下,在解決方案中提供註釋是一個好主意,或者至少總結您選擇解決問題的方法。 –
相關問題
- 1. 如何查找和替換shell腳本中的文本
- 2. 查找和替換腳本
- 3. shell腳本查找和替換字符串
- 4. 查找和shell腳本
- 5. Shell腳本:替換文本
- 6. 查找和替換 - Google表格腳本
- 7. 批處理腳本查找和替換
- 8. 查找和替換函數的腳本
- 9. 查找和替換爲textWrangler腳本
- 10. Shell腳本參數替換
- 11. shell腳本變量替換
- 12. shell腳本查找和在XML
- 13. Shell腳本,搜索和替換變量
- 14. 在bash shell中查找並替換
- 15. shell腳本:搜索/替換和檢查文件存在
- 16. Unix shell腳本查找文件並按模式替換名稱
- 17. MS Word文檔:使用Shell腳本自動查找/替換
- 18. 查找域名並將其替換 - Shell腳本
- 19. 如何使用shell腳本查找和替換屬性文件中的屬性?
- 20. 查找和替換文本
- 21. CakePHP 1.3:在腳本中查找和替換字詞功能
- 22. VB腳本查找和替換Word文檔中的文本
- 23. Shell腳本:grep和替代
- 24. 在shell腳本中查找天
- 25. 查找和使用shell腳本
- 26. shell腳本查找,搜索和
- 27. 如何查找和使用shell腳本
- 28. 需要幫助的shell腳本查找和XML文件替換值
- 29. bash shell中的條件查找/替換
- 30. 查找shell腳本錯誤
當然可以,使用sed! – Mithrandir