学习的最大动力是想要更加减少重复性工作
支持脚本。该脚本做成后,变动性很小。——这个调用脚本是写完主处理脚本后,发现主处理脚本变动频繁,想起来为了简化操作,就做了这么个支持脚本。
1 #!bin/bash 2 #-------------脚本作用:------------- 3 #用于处理和调用另一个频繁改动的脚本。 4 5 #本人所用shell脚本都是在notepad++下写的 6 #无一例外,都需要执行cat filedos | tr -d '\r' > fileunix移除dos文件的回车符 7 #首先进入工作的bin目录下 8 #执行cat http://www.cnblogs.com/test/droprateH.sh | tr -d '\r' > agoodjob.sh 9 #执行bash agoodjob.sh 就可以调用另一个主逻辑脚本10 11 #命令行提示符必须要进入/BIN/目录下DropRateTester.exe才能正确load关联的npc配置表。12 #所有的文件路径都是以此为基础来写的13 14 #处理脚本为可运行,并复制到当前目录下执行。执行完毕删除。15 cat http://www.cnblogs.com/test/droprate.sh | tr -d '\r' > droprateunix.sh16 ./droprateunix.sh17 rm droprateunix.sh
主处理脚本,我还不会读取文件里的内容作为命令行的参数,所以用了excel的公式[="text"&A1&"text"]来生成处理的命令行
——其实主体处理部分,真正使用时是有上千条的。我不关心脚本执行时间,顶多十几分钟,喝个茶就好了。但是脚本臃肿很难忍受。
——于是请教很擅长shell脚本的程序员GG,他帮我优化,做了path变量定义和引用,还做了类似于函数的模块来调用。
——但他的方法我还没消化,就先贴下面我这个笨办法吧。呵呵。
1 #!/bin/bash 2 3 #作用:调用现有工具DropRateTester.exe,批量查询并输出怪物掉落信息。 4 #使用:本脚本可直接修改,然后保存。不可以直接执行。 5 #亮点:依赖DropRateH.sh调用。进入bin/目录下,执行bash agoodjob.sh可调用该脚本。 6 7 8 #查询之前的处理 9 echo 开始运行时间`date`10 #删除旧的查询结果11 rm http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt12 13 14 15 16 #查询处理,以下语句用excel生成。17 echo -e newxkd007 4 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe newxkd007 4 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt18 echo -e newxkd009 6 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe newxkd009 6 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt19 echo -e newxkd027 7 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe newxkd027 7 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt20 echo -e anpc006_01a 10 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc006_01a 10 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt21 echo -e anpc022_02 10 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc022_02 10 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt22 echo -e anpc004 12 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc004 12 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt23 echo -e anpc015sl 14 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc015sl 14 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt24 echo -e anpc003 10 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc003 10 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt25 echo -e anpc023 10 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc023 10 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt26 echo -e hnpc001d 9 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe hnpc001d 9 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt27 echo -e anpc004ss 12 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc004ss 12 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt28 echo -e anpc006_02 14 1000 '\r'>> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt && ./DropRateTester.exe anpc006_02 14 100 >> http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt29 30 31 32 #查询之后的处理33 #对查询结果进行更合适的处理1、执行多个空格转换为1个空格 2、把空格替换为tab键34 cp http://www.cnblogs.com/test/droprate/DropRateTesterResult.txt http://www.cnblogs.com/test/droprate/agoodresult.txt35 cat http://www.cnblogs.com/test/droprate/agoodresult.txt | tr -s ' ' | tr ' ' '\t'> AGoodJob/DropRateTesterResult.txt36 rm http://www.cnblogs.com/test/droprate/agoodresult.txt 37 echo 结束运行时间`date` 38 echo ---------------------------------------------39 echo 40 echo 查询结果位于当前目录AGoodJob/DropRateTesterResult.txt41 echo
在以上脚本中,我的重要收获是根据需求搜到了以下好用的方法:
tr -s ' '方法,把多个连续的空格替换为一个
tr ' ' '\t'方法,把空格替换为tab键
这样处理后,可以直接把结果粘贴到excel中,方便进一步调用配置使用。因为策划执行的主要还是各种配置表。
``方法,把一个命令行的输出结果作为另一个命令行的参数
&&方法,两个命令行都执行,这个对于我用excel公式批量生成命令行很有用
echo -e '\r'方法,可以解析转义字符,不过我还是有点分不清换行符和回车符,干嘛两个系统要不一致?
另外非常熟练的使用了管道操作符,并非常清楚它们的用法和区别啦。
转载于:https://www.cnblogs.com/jjliu/archive/2011/11/03/2235050.html
学习的最大动力是想要更加减少重复性工作相关推荐
- 大一生活怎么过,一个爱学习的孩子是这么想的
大一生活怎么过,一个爱学习的孩子是这么想的 这是本人第一次在网上写博客.写博客的目的是和大家分享一些经验,反思自己的生活,给自己一些动力,希望现在写的文章能让以后自己坚持不下去的时候再冲一会,也希望能 ...
- 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈
万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 访谈系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...
- 摄影构图没有灵感?学习这些优秀案例,想不美都难!
大家都希望能在自己的镜头下把人物拍的美美的,在人像摄影中,除了曝光三要素以外,构图 也是必备的技能,掌握构图方法,让你的人像摄影作品更有味道! 摄影构图没有灵感?学习这些优秀案例,想不美都难! www ...
- 开课吧里的python学习是真的吗-领导想提拔你,从来看的不止努力!
领导想提拔你,从来看的不止努力! " 今天,又是加班满满的一天." 琳琳苦笑. 昨天跟闺蜜琳琳约了一块吃饭,坐下来没说几句话,琳琳就接到了领导的电话,直接打车赶去公司加班. 不知道 ...
- 想从事UE4开发相关工作,C++学到什么程度可以开始学习针对虚幻4的编程开发呢?
想从事UE4开发相关工作,C++学到什么程度可以开始学习针对虚幻4的编程开发呢? 想从事UE4开发相关工作,C++是一个必须要熟练掌握的语言.在学习C++过程中,需要掌握语法.面向对象编程.数据结构和 ...
- java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...
自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...
- 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...
原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...
- 学python需要多久-零基础学习python,要多久才可以学好并且找到工作?
原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...
- 0基础学python要多久-零基础学习python,要多久才可以学好并且找到工作?
原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...
最新文章
- 上海浦发银行总行信息科技部大数据专家陈春宝:大数据与机器学习重塑零售银行业务...
- META的SEO优化中方法技巧
- 在Android开发中怎样调用系统Email发送邮件
- js中String的常用扩展
- 复杂的选择屏幕搜索帮助
- 今天刚开通博客,很开心
- 【解释】while(~scanf(%d, n))的~的含义~scanf
- Envious Exponents
- GitHub 标星 8w!这个开源面试总结屌爆了!
- 2021-07-02 swift大礼包
- k3刷机 重置_斐讯K3刷机教程:一直重启、忘了密码怎么办?手机刷机包下载
- SSH 只能用于远程 Linux 主机?那说明你见识太小了!
- 使用大白鲨进行木马攻击实验并实现爆破目标机账号密码以远程连接
- 计算机无法通过网络连接打印机共享,共享打印机无法连接,详细教您共享打印机无法连接怎么办...
- Linux中的系统语言包及UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
- 论文快报-2021-10-Multi-task optimization and evolutionary multitasking
- 安卓系统Remix_OS 的vmware虚拟机安装
- 查询和01号的同学学习的课程完全相同的其他同学的信息的优化
- Unity 的 Scroll View组件
- 字节跳动教育业务怎么样_听说字节跳动教育线已经投入了不少,好像效果不咋样[笑哭]…...