搜索
bottom↓
回复: 23

有谁有兴趣写个文字处理的脚本啥的,哪种语言无所谓,当...

[复制链接]

出0入0汤圆

发表于 2014-8-22 13:59:14 | 显示全部楼层 |阅读模式
每个元素的字节前加byte,比如我这边手动都加上了byte  但是效率太低了,虽然笨办法实现了但是我想简单的脚本就应该实现吧,文字处理很多时候能省码农好多时间呢,
private static byte[] CRCHi = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
} ;

        private static byte[] CRCHi = {
                (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41, (byte)0x01, (byte)0xC0,
                (byte)0x80, (byte)0x41, (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41,
                (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0,
                (byte)0x80, (byte)0x41, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41, (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40,
                (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41, (byte)0x00, (byte)0xC1,
                (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41,
                (byte)0x00, (byte)0xC1, (byte)0x81, (byte)0x40, (byte)0x01, (byte)0xC0, (byte)0x80, (byte)0x41, (byte)0x00, (byte)0xC1,
                (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41,
                (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40,
                (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1,
                (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40,
                (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40,
                (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40,
                (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41,
                (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41,
                (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40,
                (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1,
                (byte) 0x81, (byte)0x40, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41,
                (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40, (byte)0x01, (byte) 0xC0, (byte) 0x80, (byte)0x41, (byte)0x01, (byte) 0xC0,
                (byte) 0x80, (byte)0x41, (byte)0x00, (byte) 0xC1, (byte) 0x81, (byte)0x40
        } ;

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-8-22 13:59:15 | 显示全部楼层
字符串替换吧,0x ---> (byte)0x

出0入0汤圆

发表于 2014-8-22 14:07:34 | 显示全部楼层
用记事本打开,使用替换功能 将  “,”  全部替换为  “ , (byte)”

出0入0汤圆

发表于 2014-8-22 14:10:11 | 显示全部楼层
不会批理,不过针对这个问题,要是我就简单用替换的方法,把","替换为",(byte)",第一个自己再补下(byte)就行了

出0入0汤圆

发表于 2014-8-22 14:11:12 | 显示全部楼层
Ctrl+H,0x,(byte)0x

出0入0汤圆

发表于 2014-8-22 14:12:08 | 显示全部楼层
lz想学脚本处理文件的话,学lua吧,读音,撸啊

出0入0汤圆

发表于 2014-8-22 14:16:27 | 显示全部楼层
直接替换0x就行了啊

怕麻烦的话就用vim
:%s/0x\(\x\x\)/(byte)0x\1/g

出0入0汤圆

发表于 2014-8-22 14:17:52 | 显示全部楼层






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-8-22 14:17:59 | 显示全部楼层
cock 发表于 2014-8-22 13:59
字符串替换吧,0x ---> (byte)0x

嗯  大家的智慧力量大啊

出0入90汤圆

发表于 2014-8-22 14:18:43 | 显示全部楼层
列编辑/录制宏/替换

出0入0汤圆

发表于 2014-8-22 14:18:54 | 显示全部楼层
awk也是可以尝试的工具
虽然楼主的需求太简单了...

出0入0汤圆

发表于 2014-8-22 14:19:04 | 显示全部楼层
讲个故事 ,联合利华引进了一条香皂包装生产线,结果发现这条生产线有个缺陷:常常会有盒子里没装入香皂。总不能把空盒子卖给顾客啊,他们只得请了一个学自动化的博士后设计一个方案来分拣空的香皂盒。博士后拉起了一个十几人的科研攻关小组,综合采用了机械、微电子、自动化、X射线探测等技术,花了90万,成功解决了问题。每当生产线上有空香皂盒通过,两旁的探测器会检测到,并且驱动一只机械手把空皂盒推走。 中国南方有个乡镇企业也买了同样的生产线,老板发现这个问题后大为发火,找了个小工来说:“你他妈给老子把这个搞定,不然你给老子爬走。” 小工很快想出了办法:他花了90块钱在生产线旁边放了一台大功率电风扇猛吹,于是空皂盒都被吹走了。 这个故事告诉我们: 1、知识并不一定都是生产力; 2、民工兄弟很有创造力 ; 3、能吹是多么的重要啊。


呵呵,LZ的这个问题让我就想起这个故事了。

出0入0汤圆

发表于 2014-8-22 14:20:10 | 显示全部楼层
sunnyqd 发表于 2014-8-22 14:12
lz想学脚本处理文件的话,学lua吧,读音,撸啊

lua 一般用哪哇。

出0入0汤圆

发表于 2014-8-22 14:22:42 | 显示全部楼层
简单点的,有规律的,如楼上列出的样例这样呢,就用2楼,3 楼所说的文本文件字符串替换功能解决,如果不规范呢,可以先导入EXCEL中,然后利用EXCEL强大的MID, LEFT, RIGHT , CHR,CHR$等 等的字符串处理函数来解决。
当然,如果楼主只抛砖引玉,想认真学一下字符批处理,另当别论,上述故事笑一笑而过。

出0入0汤圆

发表于 2014-8-22 14:23:46 | 显示全部楼层

处理字符串特别在行

出0入0汤圆

发表于 2014-8-22 14:25:28 | 显示全部楼层
xf331785508 发表于 2014-8-22 14:19
讲个故事 ,联合利华引进了一条香皂包装生产线,结果发现这条生产线有个缺陷:常常会有盒子里没装入香皂。 ...

这个故事其实没有完,用那些高端设备的是剧情需要渲染了一下,实际上不会搞那么复杂。

这个“故事”的结局是怎样的呢?那个风扇的厂子若干年后还是山寨厂,引用高级设备的成了联合利华。

出0入0汤圆

发表于 2014-8-22 14:33:06 | 显示全部楼层
aheadlead 发表于 2014-8-22 14:25
这个故事其实没有完,用那些高端设备的是剧情需要渲染了一下,实际上不会搞那么复杂。

这个“故事”的结 ...

看来听故事要听全啊;

出0入0汤圆

发表于 2014-8-22 14:35:59 来自手机 | 显示全部楼层
perl语言吧,感觉lua的正则表达式跟perl的一样。我们写verilog很多重复语句都是用perl脚本自动生成

出0入0汤圆

发表于 2014-8-22 14:50:42 | 显示全部楼层
回复是亮点。。。。

出0入0汤圆

发表于 2014-8-22 15:04:17 | 显示全部楼层
撸主观察力不强啊,太过于墨守成规.

出0入0汤圆

发表于 2014-8-22 15:15:19 | 显示全部楼层
  1. import sys

  2. def process(string):
  3.     print string,
  4.     temp_string = string.replace('0x', '(byte)0z')
  5.     new_string = temp_string.replace('0z', '0x')
  6.     print new_string
  7.     return new_string
  8.    
  9. if __name__ == '__main__' :
  10.     if len(sys.argv) < 2:
  11.         print 'No file specified.'
  12.         sys.exit()
  13.     open_file = sys.argv[1]
  14.     print 'open: ' , open_file,
  15.     save_file = sys.argv[1] + '.new'
  16.     f = open(sys.argv[1], 'r')
  17.     f_save = open(save_file, 'w')
  18.     while True:
  19.         line = f.readline()
  20.         if not line:
  21.             break
  22.         new_string = process(line)
  23.         f_save.writelines(new_string)
  24.     f.close()
  25.     f_save.close()
复制代码

出0入0汤圆

发表于 2014-8-22 15:40:10 | 显示全部楼层

您是在练习python吗

出0入0汤圆

发表于 2014-8-22 16:02:52 | 显示全部楼层
aheadlead 发表于 2014-8-22 15:40
您是在练习python吗

写的比较烂。。。。。

出0入0汤圆

 楼主| 发表于 2014-8-24 07:55:18 | 显示全部楼层

嗯  改天我也弄一些出来  练习练习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 03:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表