miller/scripts/u/split-cmd-to-cmd-and-mlr
2021-11-11 14:15:13 -05:00

29 lines
846 B
Ruby
Executable file

#!/usr/bin/env ruby
# ================================================================
# This is a no-longer-needed one-off script -- but it's an example of
# batch-editing for files in test/cases.
#
# Before:
# cmd: mlr --flags put '$z = $x + $y'
#
# After:
# cmd: mlr --flags put -f ${CASEDIR}/mlr
# mlr: $z = $x + $y
# ================================================================
ARGV.each do |cmd_file_name|
mlr_file_name = cmd_file_name.sub(/\.cmd$/, '.mlr')
cmd_file_contents = File.read(cmd_file_name)
if cmd_file_contents =~ /.*'.*'.*/
cmd_file_contents.match(/(.*)'(.*)'(.*)/)
left = $1
middle = $2
right = $3
File.write(mlr_file_name, middle.strip + "\n")
File.write(cmd_file_name, "#{left}-f #{mlr_file_name}#{right}".strip + "\n")
puts mlr_file_name
else
puts cmd_file_name
end
end