在记事本++的某些行中改变数字

时间:2017-10-20 10:48:08

标签: notepad++

我正在尝试更改输入文件的xyz数据,该数据按以下顺序编写:

8455 529 8 -0.141000 24.508381 8.604702 16.976215 

最后三个数字是xyz。

但每次出现问题。首先,CR LF将介于数字之间并更改值。然后我试着处理它们,但似乎删除了一些行。

我想这样做:

我有9600行像notepad ++中的above_mentiones行,我想用另一个文件中的其他数字更改最后三个数字。我该如何处理这些行以及notepad ++文件中的其他行不会受到影响?

1 个答案:

答案 0 :(得分:0)

我希望我理解你是对的,我不知道如何在notepad ++中做这样的事情,但我建议使用工具q在文本文件上执行SQL选择。

如果你的文件1看起来像

a e f g
a e f g
8455 24.508381 8.604702 16.976215 
8456 24.508381 8.604702 16.976215 
8457 24.508381 8.604702 16.976215 
8458 24.508381 8.604702 16.976215 
8459 24.508381 8.604702 16.976215 
8460 24.508381 8.604702 16.976215 

,您的文件2看起来像

a b c d e f g
a b c d e f g
8455 529 8 -0.000000 24.000000 8.000000 16.000000 
8456 529 8 -0.000000 24.000000 8.000000 16.000000 
8457 529 8 -0.000000 24.000000 8.000000 16.000000 
8458 529 8 -0.000000 24.000000 8.000000 16.000000 
8459 529 8 -0.000000 24.000000 8.000000 16.000000 
8460 529 8 -0.000000 24.000000 8.000000 16.000000 

你可以使用

q.py -H "SELECT file02.a, file02.b, file02.c, file02.d, file01.e, file01.f, file01.g from ..\q\01.txt file01 JOIN ..\q\02.txt file02 ON file01.a=file02.a">03.txt

获取

a b c d e f g
8455 529 8 -0.000000 24.508381 8.604702 16.976215
8456 529 8 -0.000000 24.508381 8.604702 16.976215
8457 529 8 -0.000000 24.508381 8.604702 16.976215
8458 529 8 -0.000000 24.508381 8.604702 16.976215
8459 529 8 -0.000000 24.508381 8.604702 16.976215
8460 529 8 -0.000000 24.508381 8.604702 16.976215

双标题是强制q将值视为字符串的技巧 - 也许有一个我不知道的参数。