You can't do this directly with bedtools multiinter, but you can answer this by combing a few tools. It is a smidge complicated, but it should work and it demonstrates how combining multiple bedtools can usually get you the answer you need.
➜ cat a.bed
chr1 15 20 a1
chr1 18 25 a2
➜ cat b.bed
chr1 16 20 b
➜ cat c.bed
chr1 17 21 c
Step 1: Find intervals common to all three files. The fourth column of the output is the number of datasets present at the interval, so it can be used as a filtering criterion.
➜ bedtools multiinter -i a.bed b.bed c.bed | awk '$4 == 3' > common.bed
➜ cat common.bed
chr1 17 21 3 1,2,3 1 1 1
Step 2. The issue now is that you don't know the degree of overlap these intervals have with the original intervals in each file. So, we will now just use the intersect tool to intersect the common intervals with the original 3 files while requiring 50% overlap.
➜ bedtools intersect -a common.bed \
-b a.bed b.bed c.bed \
-f 0.50 -r \
-wa -wb \
> common.with.originals.bed
➜ cat common.with.originals.bed
chr1 17 21 3 1,2,3 1 1 1 1 chr1 15 20 a1
chr1 17 21 3 1,2,3 1 1 1 1 chr1 18 25 a2
chr1 17 21 3 1,2,3 1 1 1 2 chr1 16 25 b
chr1 17 21 3 1,2,3 1 1 1 3 chr1 17 21 c
Step 3. Now we have to filter the output from step 2 to ensure that the "common" intervals indeed overlapped with all 3 datasets. Conveniently, when using the -wb
option with multiple "B" files, the intersect tool reports the dataset from which the hit came. In this case, that will be the 9th column. So, we just need to test that each interval from step 2 had hits from all three input files. We can do this with the groupby tool.
➜ bedtools groupby -g 1-8 -c 9 -o count_distinct -i common.with.originals.bed
chr1 17 21 3 1,2,3 1 1 1 3
Since the last column now reflect the count of distinct datasets that overlapped the common interval at 50%, you can use awk to filter for only those intervals where the count is 3.
➜ bedtools groupby -g 1-8 -c 9 -o count_distinct -i common.with.originals.bed \
| awk '$9==3'
chr1 17 21 3 1,2,3 1 1 1 3
Although it is probable that someone in here will know the answer, you are more likely to get answers for your bedtools questions in the google group for bedtools. The developers are usually very quick to reply to queries, and often questions have been asked (and answered) before in there.