Replace Pioneer修改文件的问题

来源:百度知道 编辑:UC知道 时间:2024/09/27 15:20:47
问题一:
我的原文件是这样的
Sim/wu_ma.2.amc 11 very 0.606867 height 0.953121 very4 2.02343 "]
Sim/wu_ma.3.amc 11 very 0.812147 height 1.03893 very4 2.61972 "]
Sim/wu_ma.4.amc 11 very 0.6057 height 0.928159 very4 1.11302 "]
Sim/wu_ma.5.amc 11 very 0.331271 height 0.970273 very4 3.83671 "]
Sim/wu_ma.6.amc 11 very 0.31794 height 0.959235 very4 2.12093 "]
Sim/wu_ma.7.amc 11 very 0.463455 height 0.909198 very4 2.08704 "]
Sim/wu_ma.8.amc 11 speed 0.982314 height 0.914571 very4 2.35916 "]
Sim/wu_ma2.9.amc 11 speed 0.940551 height 0.941019 very4 3.50564 "]
Sim/wu_ma2.10.amc 11 very 0.991738 height 0.995031 very4 3.71274 "]
Sim/wu_ma2.11.amc 11 very 0.61 6516 height 0.944841 very4 1.84206 "]
Sim/wu_ma2.12.amc 11 very speed 0.919721 height 1.03153 very4 3.86696 "]
其中每行都包含一个 主文件名比如“wu_ma.*.amc”和“height XXXXXX”
我现在需要把包含wu_ma.*.amc 名字的所有行的height 后面的值 “XXXXXX”按wu_ma.*.amc

问题一:详细步骤:

1. ctrl-o打开文本文件

2. ctrl-h打开replace窗口

(1) 在Search for pattern输入:
"wu_ma\.(\d+)[^\n]*height\s*([\d\.]+)"(不带双引号)
(2) 在Replace with pattern输入:
"\1 \2\n"(不带双引号)
(3) 把Print Unmatched Unit前面的勾去掉。

3. 点击Replace,取出你需要的两列数据

4. 再点击ctrl-h打开replace窗口:
在Replace with Pattern输入:
height replace(sort_by_word($match,1),'(^|\n)\d+','')

5. 点击Replace,完成!

问题二:详细步骤:

1. ctrl-o打开包含数字的文本文件

2. ctrl-h打开replace窗口

(1) 在Search for pattern输入:
"\d+"(不带双引号)
(2) 在Replace with pattern输入:
"else if\(\$AA==$word_no\)

return $match ;\n\n"(不带双引号)
(3) 把Print Unmatched Unit前面的勾去掉。

3. 点击Replace,大功告成!

注意,
* 以上步骤对横排还是竖排的都适用,测试通过。
* 括号和$都是特殊字符,所以前面加反斜杠
* 请用Replace Pioneer 2.44版及以上,否则会有问题