Ruby-Textkonvertierung

Verwenden Sie Ruby, um PHP-Programme zu konvertieren. EUC_JP und CP51932 werden im PHP-Zeichencode gemischt. Python kann CP51932 nicht verarbeiten, daher habe ich es in Ruby geschrieben.

Ersetzen Sie str_src durch str_target. Wenn str_src fehlt, wird nichts unternommen.

file_filter.rb


#! /usr/bin/ruby
# -*- coding: utf-8 -*-
#
#	file_filter.rb 
#
#						Aug/09/2020
#
#
# --------------------------------------------------------------------
# [2]:
def read_proc(file_in)
	lines = []
	File.open(file_in) do |io|
		lines = io.readlines()
	end
#
	return lines
end
#
# --------------------------------------------------------------------
# [4]:
def convert_proc(lines)
	flag_convert = false
	str_src = '$var = $dict["aa"];'
	str_target = 'if(array_key_exists("aa",$dict)){$var = $dict["aa"];}'
	llx = str_src.size

	lines_new = []
	for line in lines do
		if line.slice(0,llx) == str_src then
			puts line
			lines_new.push(str_target)
			flag_convert = true
		else
			lines_new.push(line)
		end
#
end
#
	return flag_convert,lines_new

end
# --------------------------------------------------------------------
# [6]:
def out_proc(file_out,lines_new)
	File.open(file_out, mode = "w") do |f|
		lines_new.each{ |line| f.puts(line)}
	end
	STDERR.puts	file_out + " written ***"
end
# --------------------------------------------------------------------
STDERR.puts	"*** start ***"
file_in = ARGV[0]
#
lines = read_proc(file_in)
#
flag_convert,lines_new = convert_proc(lines)
#
if flag_convert then
	out_proc(file_in,lines_new)
end
#
STDERR.puts	"*** end ***"
# --------------------------------------------------------------------

Lauf

./file_filter.rb in01.txt

Recommended Posts

Ruby-Textkonvertierung
Rubin lernen 4
JavaFX-Text
[Ruby] Array
Ruby Review 2
Rubinzusatz
Ruby lernen 3
Ruby-Einstellung 2
Rubinproblem ⑦
Ruby lernen 2
Rubin lernen 6
Ruby-Einstellungen 1
Rubin lernen 1
Ruby Review 1
[Ruby Mine] {} → Deaktiviert die automatische Blockkonvertierung von do..end