我正在使用notepadd ++文件,我大约有70个文件,并且每个文件中,我需要在一行的2个位置中添加“ 20”,大约15次。
所以在每个++文件中,我都有:
* CSTART
未知-1.00 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0
1811020926 1811110548 2
* CEND
这组行出现多次,每个文件中最多15条。我想找到每个 CEND 实例,并在其上方的行中,在每个日期之前插入数字20。
包含“ 1811020926 1811110548 2”的行是yy-mm-dd-hh-mm格式,由于我们使用的软件存在错误,我需要将其设置为yyyy-mm-dd-hh-mm格式。 / p>
所以我们从:1811020926 1811110548 2
最后得到:201811020926 201811110548 2
任何人都对在Ruby中执行此操作没有任何了解?我正在学习用于atm的这种语言,这就是为什么我指定这种语言,但是我还远远不能自己解决此问题!
编辑-还具有python&js的一些其他语言选项的知识。只是真的需要找到一种自动执行此过程的方法,因为每周很快将有超过120个文件需要固定日期格式。
先谢谢了。
答案 0 :(得分:0)
假设您的文件数据位于名为data.txt
的文件中
module DataFixer
class << self
def fix(filename)
data = File.read(filename)
fixed_data = data.gsub(/(\d{10})\s(\d{10})/, "20\\1\s20\\2")
File.open(filename, 'w') {|f| f.write fixed_data}
end
end
end
DataFixer.fix('data.txt')
现在,您的数据已修复。逻辑是在捕获组上使用正则表达式模式匹配和替换。