Board logo

标题: [文本处理] 批处理如何批量替换文件内容? [打印本页]

作者: wshiruike    时间: 2012-4-14 16:11     标题: 批处理如何批量替换文件内容?

有上万个文件   文件内容如下
%
O0100
G80 G90 G40 G17 G49
G91 G28 Z0
G90 G00 G54 X0 Y0
G5.1 Q1
G00 Z100.
(TOOL NAME= D3  D= 4. R= 2.  TOOL NUM=22 )
(CONT. OFFSET=    CONT. TOL.=   )
(SRF. OFFSET=      SRF. TOL.=   )
(DOWN STEP=     SIDE STEP=   )

S300 M03
Z50.
G98 G83 X-256. Y25. Z-3. R1. Q3. F100 M09
X-85.
X85.
X256.
G80 Z50.
G91 G28 Z0  
G5.1 Q0
M05
M09
M30
%





想批量修改成如下格式
SUPA D0 G0 Z0
HSCA(0.001)
T1D1
;TOOL_NAME D3
;TOOL D= 4. R= 2.
;CONT. OFFSET=   CONT. TOL.=
;SRF. OFFSET=   SRF. TOL.=
;DOWN STEP=   SIDE STEP=
G0G90G54X0Y0
G291

S300 M03
Z50.
G98 G83 X-256. Y25. Z-3. R1. Q3. F100 M09
X-85.
X85.
X256.
G80 Z50.
G290
M05
SUPA D0 Z0
D1
M30



括号里面的内容是不定的    只要把括号改成;
(TOOL NAME= D3  D= 4. R= 2.  TOOL NUM=22 )
;TOOL NAME= D3  D= 4. R= 2.  TOOL NUM=22



中间的内容不变
中间内容少的1-2行    多的会有几万行!
作者: gawk    时间: 2012-4-14 18:25

  1. sed -i "1,/G00 Z100/d; /G91 G28 Z0/,$d" a.txt
复制代码
先把开头和结尾删掉,后面的楼下继续。
作者: wshiruike    时间: 2012-4-18 20:14

楼下继续啊!!!
作者: wshiruike    时间: 2012-5-11 15:03

楼下的高手快出现啊
作者: 秋风·飞扬    时间: 2012-5-11 18:09

回复 2# gawk


    看了这么多案例,貌似一定要用第三方工具了,学生-14 曾经说过,bat或者vbs都行,所以我一直在钻这牛角尖
作者: CrLf    时间: 2012-5-11 23:46

回复 5# 秋风·飞扬


    顶楼要求没看太懂,不过个人感觉这个案例中第三方不是最好的选择,因为对于小文本而言,脚本的处理效率远高于外部命令/第三方的启动效率
作者: 秋风·飞扬    时间: 2012-5-12 13:04

回复 6# CrLf


    版主,现在想找一个转编码的功能,把ANSI编码转换成UTF8,推荐一款第三方软件吧。
作者: lvsehuaxue    时间: 2012-5-12 17:21

ANSI编码转换成UTF8,文本工具自带。
作者: gawk    时间: 2012-5-13 13:34

回复 8# lvsehuaxue


    成千上万个需要转换的时候,肿么办?
作者: wshiruike    时间: 2012-5-16 08:38

肿么办?肿么办?    愁啊
作者: gawk    时间: 2012-5-16 09:37

回复 7# 秋风·飞扬


http://www.bathome.net/thread-3900-1-1.html
作者: poter    时间: 2012-5-16 10:03

这个太考技术了吧。即便真有人写出代码,执行效率恐怕也不会太高




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2