Not user friendly tools are horrible. It is usually consequence of not „eat your own dog food“. If the programmer doesn’t need to use the tool, then it is not very usable. Then you have to use some workaround.

For instance just now. I have config file enumerating multiple files to load:

//some header
key2= value
// file1
load.params=some params
// file2
load.params=some params
// file58
load.params=some params

Now when I run the tool, I get error that file is not compatible. But how to find out which file out of 58? One way would be to use strace tool to see which file it tries to open just before the error message. Unfortunately not an option in this case.

So I used this trick:
1) cut config to 58 pieces
2) run tool with each config contain just one input file config

First I used awk to cut original file to pieces. In vim I deleted „file<>“ using command :%s/^\/\/.*$/\/\// and then I used 2 slash as a record separator:

awk -v RS="//" 'BEGIN{i=10}{print $0 > "piece"i;i++}' input.txt

Then I run following bash cycle to iterate thru all the configs:

for f in piece*; do cat header.txt $f > script_input.conf; sh ./ script_input.conf; done