windows下使用sed和tee命令


  最近需要在winowds slave上設置構建app和sdk,至於如何在windows slave上構建c/c++代碼生成sdk(dll,lib之類)和apk(exe文件),請參考我的另外一篇博客,即https://www.cnblogs.com/zndxall/p/9177866.html,本博客不做介紹。

  有些時候,我們在打包的時候,會需要先修改文件配置,才能打包,比如,測試使用的測試環境驗證了,要發布的話,肯定參數要滿足正式環境的,這時就需要修改配置文件。

  本博客介紹的是如何使用bat腳本就修改文件內容,即windows下的sed命令,我在查找如何下載sed.exe上花費了不少時間,后面發現我壓根不需要去下載sed.exe,因為我已經安裝了git bash,查找發現,git bash 的安裝目錄下就有sed.exe,所以,如果你還在花時間查找如何去下載一個64位或者32位的sed.exe的話,建議直接安裝一個git bash就可以了,自帶sed.exe,比如我的路徑是C:\Program Files\Git\usr\bin\sed.exe。

  使用也很簡單,只要先設定sed.exe所在路徑就可以了。比如,我當前目錄下有個文件test.txt,文件內容是1234,我想把它改成5678,操作如下:

  set sed="C:\Program Files\Git\usr\bin\sed.exe"

  %sed% -i s/1234/5678/g test.txt

  即可!

至於其他sed的使用,和linux下是一樣的,可以參考linux下的。

  同樣,其他命令也一樣,比如另外一個tee,我們知道linux的tee作用主要體現在:想把內容輸出在控制台的同時有輸出到文件中,有的人會說,很簡單啊,echo 兩次就好了,echo “test” 然后echo "test" > test.log就解決了,內容少的話,這沒問題,簡單不耗時,但是要是內容多呢,比如一個構建本來就要五分鍾了,你還再echo一次,時間太久了,這時tee就很有用了,直接執行構建命令,比如:

  set tee="C:\Program Files\Git\usr\bin\tee.exe"

  %msbuild% %sln_file% /t:Rebuild /p:Configuration=%type%;Platform=%platform% | %tee% build_log.txt

即可。tee.exe也可以采用同樣的辦法找到和設置。

  查找過濾文件內容如下:

  more build_log.txt |findstr "個錯誤"

由於花費了不少時間找滿足系統的sed.exe或者其他命令,所以寫下這篇博客供大家參考,節省時間。

 

(其實上面的msbuil命令有自帶的日志參數:%msbuild% %sln_file% %command_part% /m:8 /p:Configuration=%type%;Platform=%platform% -flp:logfile=build_log.txt

,/m:8 是表示8個cpu同時工作,提高效率)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM