diff options
author | luxagraf <sng@luxagraf.net> | 2020-02-16 15:57:40 -0500 |
---|---|---|
committer | luxagraf <sng@luxagraf.net> | 2020-02-16 15:57:40 -0500 |
commit | 2a9538f7711dcea71ba5702ca94a9d9c00287ea4 (patch) | |
tree | e0fe5ea7c909b01e10bf6a8dd4abcb619b6924c9 /bin/csvtommd.rb | |
parent | 3165ef5abdb298108efa2ba3d339f70ca966315a (diff) |
added the rest of bin
Diffstat (limited to 'bin/csvtommd.rb')
-rwxr-xr-x | bin/csvtommd.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bin/csvtommd.rb b/bin/csvtommd.rb new file mode 100755 index 0000000..355b0f9 --- /dev/null +++ b/bin/csvtommd.rb @@ -0,0 +1,18 @@ +#!/usr/bin/ruby + +input = STDIN.read + +# find quoted cells and replace commas inside quotes with placeholder +input.gsub!(/"([^,].*?)"/m) { |quoted| + quoted.gsub(/[\n\r]*/,'').gsub(/,/,'zXzX') +} +# replace remaining commas with table divider (pipe) +input.gsub!(/,/,"| ") +# remove quotes from quoted cells +input.gsub!(/(\| |^)"(.*?)"/,"\\1\\2") +# replace placeholders with commas +input.gsub!(/zXzX/,",") + +input.each { |l| + puts "| #{l.strip} |" +} |