Windows 下批处理使用 sed 输出不是要执行的结果

2014-03-06 19:59:05 +08:00
 joyjy
sed 是从 cygwin 下 copy 出来的,想要找出 xml 中的 package="com.example.testdemo" 的属性值
在 cmd 中使用 '/package=/!d;s/.*package="\(.*\)".*/\1/g' 能够输出 com.example.testdemo;
但在批处理中调用输出到文件就仅仅删掉了文件的这一行,相当于 '/package=/d' 的结果。请问有人遇到过类似情况吗?
最过分的是这段代码没有改过,之前可以运行,今天下午突然出现的问题。电脑已经重启过了。
3963 次点击
所在节点    问与答
7 条回复
joyjy
2014-03-06 20:21:48 +08:00
(什么情况下才会出 APPEND?现在没有按钮)

关闭 CMD 后问题依旧,但如果不关用类似语句处理另一个文件的也有问题,结束进程后再运行结果——好了。( º ཀ º )

求分析原因或者讲解批处理相互调用问题的资料。
iptux
2014-03-06 20:42:52 +08:00
推荐在cygwin下的shell下执行命令,cmd处理引号和特殊符号的方式与Linux下的shell有很大不同
kyze8439690
2014-03-06 21:16:58 +08:00
LZ改apk packageName?
joyjy
2014-03-07 09:50:56 +08:00
@iptux 谢谢,不过我们这边全体 Win 环境让别人也安 cygwin shell 不太可能。
@kyze8439690 改 meta-data,package 就是读出来用一下。(就是所谓的多渠道发布脚本……
kyze8439690
2014-03-07 13:11:32 +08:00
@joyjy 用gradle吧
joyjy
2014-03-07 15:11:00 +08:00
@kyze8439690 看起来真的比 ant 容易,谢谢,有机会我试一下。
kyze8439690
2014-03-07 15:24:16 +08:00
https://github.com/umeng/umeng-muti-channel-build-tool
umeng也开源了一个渠道打包程序,不过是win的,你看看能不能用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/103161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX