• 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 FilesGitusrinsed.exe。

      使用也很简单,只要先设定sed.exe所在路径就可以了。比如,我当前目录下有个文件test.txt,文件内容是1234,我想把它改成5678,操作如下:

      set sed="C:Program FilesGitusrinsed.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 FilesGitusrin ee.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同时工作,提高效率)

  • 相关阅读:
    ANDROID笔记:通过ContentProvider得到SD卡的图片
    android:ViewPager显示Fragment(碎片)
    ANDROID笔记:使用动画替代viewpager的header
    ANDROID笔记:ListPopupWindow的使用
    ANDROID笔记:Activity的显式和隐式调用
    ANDROID笔记:Activity之间的传值
    go语言下载页面html代码(d3.js代码)
    如何使用sas proc过程步产生的结果
    福昕PDF阅读器的图章妙用
    测试成功的d3.js代码
  • 原文地址:https://www.cnblogs.com/zndxall/p/9319077.html
Copyright © 2020-2023  润新知