30 lines
		
	
	
		
			499 B
		
	
	
	
		
			Awk
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			499 B
		
	
	
	
		
			Awk
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env -S awk -f
 | |
| 
 | |
| BEGIN   {
 | |
|     FS=": "
 | |
| 
 | |
|     prev_empty=1
 | |
|     t="  "
 | |
| 
 | |
|     print "[ {"
 | |
| }
 | |
| 
 | |
| !NF { # empty line, update separator so next non empty line closes the dict
 | |
|     prev_empty=1
 | |
|     t="},\n{ "
 | |
|     next # skip line (we won't match anything else)
 | |
| }
 | |
| 
 | |
| {
 | |
|     printf t "\"%s\" : \"%s\"\n", $1, $2
 | |
| 
 | |
|     if (prev_empty) {
 | |
|         # we were the first after a group of empty lines, following ones have to
 | |
|         # have a comma
 | |
|         prev_empty=0
 | |
|         t=", "
 | |
|     }
 | |
| }
 | |
| 
 | |
| END     { print "} ]" }
 |