[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
有空我打算找帮powershell人跟你pk下,awk sed 语法晦涩。就是搜索替换。
虽然免不了正则和搜索替换,但powershell是面向对象的,从这个角度来看,
python powershell兄弟俩,组团,pk awk sed兄弟俩。-----没错,我就是来砸场子的。呵呵。


---------以下为我的预言-----------
powershell 要pk的话,由于没有专业优化,性能比py略差。
但powershell有win下的多种对象,如excel,world。python3有很多库,这兄弟俩各有特色。
他俩代码绝对比awk sed简单。

你有搜索替换,我有面向对象神功。后续内容敬请期待。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

本帖最后由 PowerShell 于 2013-7-6 08:50 编辑

好有空一起研究一下大家。
应该和python脚本做法差不多,

我不知道win下的awk,sed ,比linux下的差多少。一般来说应该是差些,因为毕竟不是为win优化的,但是win awk可以用win下的其他工具,这是linux所不具备的。

类似,powershell也是如此。总之各有特色。


另外,比如日志处理,这类文本应用。由于linux一般无图形界面,所以脚本编程处理日志居多。而win,早有人写好了日志处理工具。这些工具大都是图形的,有的是c,c++,语言开发的,所以有可能比linux下处理日志还快。也就是win+c程序pk linux+脚本程序。也不一定非要用powershell。总之win下选择很多。

那么由于linux脚本处理日志是重头戏,又经多年优化,有可能性能比powershell略强,而且powershell从微软的意图,不是用来主要处理日志的,各位看官不可不知。

不过呢,要用 用例事实说话,不可yy,还是要pk下。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

本帖最后由 PowerShell 于 2013-7-6 15:40 编辑

实际上,用批处理写代码是非常辛苦的:没有专门的调试器调试代码只能手工一遍又一遍不厌其烦地添加/删除echo和pause语句、在黑乎乎的cmd窗口中观察代码的运行结果;------------powershell的开发环境有3,1系统自带的powershell ise。2 免费的powershell gui,这个是我用的,有单补,断点啥的。开发调试图形软件的,powershell studio。

大数或浮点数计算,还得自行设计算法、甚至模拟手工算式进行按位计算;-----。net有无限大整数,浮点数等,专业数学计算一般调用f#来完成。我想awk sed也不能算这些吧。


字符串操作,仅提供了几个简陋的查找、替换功能,更复杂的操作,只能for了再for,call了再call,即使你折腾得昏天黑地,也不见得就能实现你的目标-----powershell字符串操作有正则。有字符转义等。



总而言之,windows下的很多文字处理语句/工具,虽然能实现某些操作,但是这些功能的实现是需要付出沉重代价的:要么操作部位无法做到精准、要么字符串不能超长、要么会丢失一些特殊字符、要么处理效率异常低下难以忍受。如果不借助外部工具,在windows下用批处理对文本进行操作,即使你绞尽脑汁使出浑身解数,甚至仍然无法实现某些功能。-------不是win不行,而是用的方法太老,powershell2006年就出来了,现在都13年了。还有强大的面向对象方法!!!


即使在批处理的世界里摸爬滚打了6、7年,在接触到gsed和gawk之前,每当需要用批处理来处理一大堆文本时,我都如履薄冰,我常扪心自问:这些文本有超长字符串的行存在吗?包含特殊字符吗?替换时能做到精准匹配吗?如果是海量数据,处理速度够快吗……每当这些问题萦绕于心时,我总会有一种心虚气短头皮发麻的感觉。

  自从找到了powershell之后,我保你烦恼就一扫而空了。随我信powershell神教吧~~~~
我乃microsoft教,powershell派,powershell交流宗,宗主。俗称传教士。不要去学魔教的awk  sed了。我教创世之神乃比尔盖茨 嘎嘎。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

返回列表