2015-08-18 44 views
0

我搜索的結果好幾次,但我也沒有明顯的答案如何替換另一個文件中的佔位符,在linux

我想打一個C函數,它接受一個變量作爲自變量,然後使用該參數替換另一個模板文件中的佔位符,在這樣的

端口%PORT%的形式

我需要的是,當該函數被調用的%PORT%將被替換爲參數傳遞(此佔位符是在另一個文件)

的任何提示?

回答

0

您是否考慮過使用sed?它在大多數Linux系統上都可用,您應該能夠使用此示例完成您想要的任務,該示例讀取模板文件tmpl.txt並創建一個名爲specific.txt的文件,其中%Port%被替換爲已保存的4242在一個變量PVAR: tmpl.txt

Port %PORT% 

代碼:

PVAR=4242 
sed "s/%PORT%/$PVAR/" tmpl.txt > p4242.txt 

p4242.txt:

Port 4242 
+0

十分感謝 但我需要馬注意一個使用「sed」命令的C函數 我該怎麼做? 類似的東西 無效FUNC(INT PVAR){// 做同樣的東西,sed命令 } – user3824825

+0

對不起,我想我可能誤解了這個問題有點當我張貼的答案。我會用C解決方案更新答案,出於好奇,模板文件是否包含單個標記值對或者是否存在多個標記?解決方案必須是基於C還是C++也可以接受? – Matt

+0

沒關係.... C解決方案更好,但我對C++沒有任何問題......並且它們有幾個標記......再次感謝! – user3824825

相關問題