有人对批量处理文本感兴趣么?

by xiaolai on 2009/11/21 · 59 comments

in 计算机相关

我个人用计算机干的最多的事情之一就是批量处理文本。不知道是否有人对此感兴趣?

希望对此感兴趣的朋友来信分享心得经验。也许我应该费点劲写个相关教程?

{ 59 comments… read them below or add one }

tim November 21, 2009 at 21:46

 很感兴趣

Reply

新月人 November 21, 2009 at 21:47

对批处理文件的了解始于dos 没记错得话 dos下type命令 可以显示.bat的内容 不过 了解始于此 也就此裹足不前 老师写个教程吧 感觉批处理 在某些地方 很像宏命令 如果会使用批处理 应该在某些时候会很便捷 提高效率

Reply

ithink7 November 21, 2009 at 21:58

挺感兴趣的,这个东西很有用,笑来老师如果有这个打算的话,一定严重支持!

Reply

慢半拍的笨笨 November 21, 2009 at 22:23

支持!
 

Reply

瓦斯曲 November 21, 2009 at 22:26

支持我也很喜欢

Reply

@guandaqi November 21, 2009 at 22:27

我平时用的比较多的命令多是拷贝复制删除,编译文件,进入目录,其他高级没有多少研究

Reply

rex November 21, 2009 at 22:27

嗯。感兴趣。尤其是与正则表达式相关的。

Reply

wuzhez November 21, 2009 at 22:28

shell,awk,sed,grep,perl,vim,linux下批处理这些都是王道

Reply

rhythm November 21, 2009 at 22:29

本来想在twitter上直接回复的,一想不能制造无效信息。
非常感兴趣,期待老师写教程,一直以来自己都是不断提高操作速度的,没有什么更好的办法,宏操作一般都是应用的其他软件上,对文件管理真没什么经验。

Reply

匿名懦夫 November 21, 2009 at 22:30

那要看你批量处理文本的目的是什么,我经常从网络上下载文本格式的小说,有TXT格式也有HTML格式,需要做的事情有:

1: 批量删除其中夹带的文字广告;
2: 分割或合并文件;
3: 从网页格式的文本中将HTML TAG清除掉;

这些都是常见的任务,我一般用TextForever这个工具就可以自动应付大多数情况,如果有个别顽固之徒,再用Ultraedit等支持正则表达式的文本编辑器一一干掉。

Reply

wu November 21, 2009 at 22:30

我做商品分析,每天面对很多原始文本数据。支持笑来老师写个教程!

Reply

fsy November 21, 2009 at 22:30

PowerGREP 这是正则表达式的强项

Reply

Dominic November 21, 2009 at 22:40

早就想学这个了,就是不知道从哪儿下手。用的最多的是word的查找替换,可以用正则表达式到,不知道算不算

Reply

@xym_g November 21, 2009 at 22:44

批处理很少用,除非遇到限制很多的电脑解除限制,不过在Ubuntu下习惯用console

Reply

learning November 21, 2009 at 22:49

非常感兴趣。
你写的有关计算机方面的内容,我全部都看了,并实践了,非常期待新系列。

Reply

YY November 21, 2009 at 22:51

我对batch任何东西都很感兴趣
 

Reply

5LonG November 21, 2009 at 23:02

难道要科普正则表达式- -~常规用户手边的工具少有支持正则的借机推广下OpenOffice倒是不错wwww

Reply

goodappli November 21, 2009 at 23:04

要的,平时好多文本格式都要改,有时候就要手动。希望能提供新的思路

Reply

aya November 21, 2009 at 23:06

支持,也许您可以再出一本给非专业人士的书

Reply

flyink November 21, 2009 at 23:12

我得最多的事情就是对网上下载的课件进行批量改名,利用EXCEL和REN命令 ,BAT批处理~~~看看您是什么需求了~

Reply

李笑来 November 21, 2009 at 23:22

to匿名懦夫
真得谢谢你啊。你提到TextForever,去看了看,原来是老马写的软件,再翻了翻,才发现自己用了许多许多年的Rename-it竟然也是他写的,赶快写了封邮件感谢!
 
 
 

Reply

kkk November 21, 2009 at 23:23

快写教程吧,等不及了,俺只会用word处理文本

Reply

ajun November 21, 2009 at 23:28

太有用处了,对文本的处理,有时候挺不顺的。

Reply

open November 21, 2009 at 23:42

支持

Reply

E.T November 21, 2009 at 23:44
E.T November 21, 2009 at 23:45

有兴趣看看这个 Text Processing in Python

Reply

You Xu November 22, 2009 at 00:03

It usually depends on your demand. There are generally four levels of processing:
1. Structured text level: for instance, parsing xml file, understanding html. On this level, I generally use yacc+lex or python+pylex. For XML and other markup language, I use libraries like beautifulsoap or sax/dom. This level of processing requires an understanding of the overall structure of your text.
2. Record text level. The text file is listed as records (for instance, a form, a table) in plain text. On this level, you have to extract fields from text and process each field. On this level, I usually use awk or python. Sometimes I use cut/sort/uniq and other shell commands.
3. String level. On this level, your target is just a string, you don’t have to deal with the structure of the text. Then, I recommand any tools that support regular expression. For instance, sed, perl, python, grep, and sometimes awk.
4. Ad hoc processing. I always use vim for some small editing task.
The best starting point is to master regular expression, read the manual of “GNU Coreutils” and then learn sed/awk. 
You might also want to use
wget, xargs, python, make, shell script and other tools to automate your processing.

Reply

molly November 22, 2009 at 00:33

非常感兴趣~~!期待你的教程。

Reply

Leon November 22, 2009 at 02:35

太感兴趣了 我们现在正在学计算机网络 里面要用到flow-tools分析 但分析要求写脚本 出来的文件也需要批处理 笑来兄赶紧做教程吧 大家都等着看呢

Reply

小溪 November 22, 2009 at 09:39

感兴趣~!别问啦,快写吧=,=

Reply

www.ijingpin.com November 22, 2009 at 10:50

写吧。。。平时需要处理文本时,好多人不知道浪费了多少时间。。
记得笑来曾经说过 把同样的方法介绍给过一个老师 ,那老师没有用你教的方法 ,当时我就想学一学了,现在终于可以有机会了。呵呵
 
对了 你的 把时间当作朋友写的太好了。。我已经买了四本了 都送朋友了。再买几本接着送。

Reply

Googol Lee November 22, 2009 at 11:08

*nix下一堆小程序用来处理字符替换很好用:sed,awk,grep,cat…其背后的核心支持都是正则表达式。
正则背后的理论支持是有限状态机。正则的限制是只能根据当前匹配状态和当前字符来改变匹配状态,无法处理上下文相关的内容。

Reply

iheartpp July 23, 2010 at 04:03

那如何处理上下文呢?有什么更好的工具?

Reply

张佳 November 22, 2009 at 11:11

一呢,希望笑来写的有关批处理博文早点问世。二呢,希望有更多的人推荐分享自己和别人的经验。

Reply

DebuggingNow November 22, 2009 at 11:15

以前,无论在工作中还是在生活中,批处理文件都是用的比较多的,为什么,因为它和windows比较亲。但现在,我更倾向于用perl,尤其是文本处理方面。批处理最重要的是调用一些已有的命令,程序,perl也能做到,同时给了你更大的灵活性。

Reply

better988 November 22, 2009 at 12:08

很感兴趣。
感谢李老师,您的很多博文让我受益良多!
刚把scrapbook用起来了,比以前减少了好几步操作。

Reply

燕南飞 November 22, 2009 at 13:07

还是快点上教程吧!

Reply

baz November 22, 2009 at 13:24

加油加油,期待教程中!!!

Reply

daryl November 22, 2009 at 15:01

我对此也相当狂热,公司一旦听说谁有这种需求,我就立即把活揽过来,如果碰巧碰到一个有挑战的,就更好了。我用的最多的是sed和awk,以及Tcl,基本上能满足所有的问题。现在正学习Python,有空也看看Perl和Haskell。感觉博主也是一个技术理想主义者。

Reply

pc November 22, 2009 at 15:33

严重支持一哈
批量处理才能体现计算机的高效
目前我还是停留在写批处理文件来处理大量的文件
 

Reply

hairuo November 22, 2009 at 16:15

支持,待学

Reply

Jay Zhang November 22, 2009 at 19:57

对初学者来说,最好还是学一门脚本语言,懂一点基本的正则表达式。

Reply

stonewang November 22, 2009 at 20:22

中国DOS联盟论坛 有个版块 DOS批处理 & 脚本技术(批处理室),对批处理有深入的讨论

Reply

Jerry Joe November 22, 2009 at 21:36

最近也在研究文本批量处理,这方面的利器自然是正则表达式了,而*nix对正则的支持是最令人惊叹的,其中惯用的有:sed, awk, grep, tr(文本替换), emacs, 当然文本编辑器亦是各个强大,个人最中意Vim。
期待笑来老师多跟大家分享这方面的技术和经验。

Reply

shuil November 22, 2009 at 22:53

我用.bat文件来打开Java软件,一键设置Java环境变量等。

Reply

新东方胖子老师 November 22, 2009 at 23:52

PowerGREP 多文本正则 支持正则测试 预览 恢复 最强大 可惜收费 最便宜好像 500美元
平时用 Editplus 就够了, 再就是 php 配合使用 基本处理就够了
有人给出了 python 文本处理, 谢谢 看看功能强大不
 
 
比较完整的文本处理应该是 文本转换+文本编码+正则+提取+入库储存+调用,
 
哈哈 基本是一个php+mysql 程序了 再多点算法 就是搜索引擎了

Reply

Parn_Fe November 23, 2009 at 05:00

unix/linux下我用sed命令来做,win下似乎没有unix平台下那么强大的shell

Reply

ac54321 November 23, 2009 at 09:24

期待笑来老师的教程

Reply

lsy November 23, 2009 at 10:40

以前在CSDN上有位仁兄回贴时说的话让我现在还记得
对于非计算机从业人员来说,大概学好批处理要比学会什么语言要更来得实际。
当时还没什么感触,最近手头接到大量的文本要处理,一天头疼得很啊。
总之,EXCEL很强大,批处理还在学习中。

Reply

terminal November 23, 2009 at 13:40

可以提高工作效率,严重支持!!!

Reply

wulala November 23, 2009 at 16:40

感动超乎想象!
只要是笑来老师要做的事情,我们无条件支持!

Reply

seyothoy November 24, 2009 at 16:29

支持
笑来老师很会调动大家的求知欲啊

Reply

明明 November 29, 2009 at 11:01

最近在编写雅思词汇内部教材。
其中有一项就是相应单词--对应的雅思真题句子。
(大家买词汇书会在意真题句么?)
 
一方案是录入全部已出版的七套真题,再应用相应的文档处理技术提取相应例句--包含某单词的上下文句子。
二方案是人工通盘研读真题,再人工逐句选出有价值的例句,尤其是有上下文语境的单词例句。
 
这本词汇书会有许多实用的语言知识点,多关于如何使用英语的。
而不是简单的单词堆砌,而且也不会按字母先后排序。如何使用单词,如何语法成句。
能否有好的批处理技术解决第一个方案??
期待。
同时欣赏笑来这种用户需求型的技术分享知识分享文章。
 
 
 

Reply

阿四 November 30, 2009 at 00:40

windows下的shell确实有点弱,国内专注于.bat网站不多,这个论坛还是比较火:http://www.cn-dos.net/forum/forumdisplay.php?fid=23
说来说去还是linux下bash强大,windows还有一个powershell的,不过推广得少,功能应该比自带的要强些。

Reply

人来人往 November 30, 2009 at 20:09

呵呵 我稍稍学过一点,写过抢ip的批处理(不是攻击别人的那种)、检查交换机的批处理。这些东西都是需要用的时候才去学一下,感觉龙卷风那个教程很不错。

Reply

人来人往 November 30, 2009 at 20:18

补充一下我指的是windows下bat格式的批处理……

Reply

ling December 2, 2009 at 14:00

可以介绍一下Rename-it吗?需要批处理的更改一些文件名,有的时候处理起来挺麻烦的。或者批处理的提取word文档中固定位置的数值之类的技巧能介绍一些吗?

Reply

hayes December 3, 2009 at 17:14

常用Excel VBA来做大量重复性工作

Reply

xi February 23, 2010 at 00:09

I normally use Python. It’s a full-blown programming language, has standardized regex, encoding support, has OO, highly re-usable. The best feature is ease of learning. A perfect tool for quick-and-dirty text processing or data analysis.

Reply

Leave a Comment

Previous post:

Next post: