EDIT : I missread the question as using either BASH or powershell, instead of batch, but i'm leaving my answer anyways for those who might need it. Sorry for the confusion
Not the most elegant solution, but using bash's string manipulation without using regex :
#!/bin/bash
while read -r line; do
found=0
for word in $line; do
for scan in $sentences; do
[[ $word =~ $scan ]] && found=1
done
done
[[ $found == 0 ]] && echo $line >> output.txt
sentences="${sentences} $line"
done < file.txt
So basically read every line in file text.txt
Set found to 0
For each word in the line to scan and for each word found printed so far, check if there's a match, if yes set found to 1
If found at 0, output line, else do nothing
EDIT : Here is a more verbose version showing you what's happening :
#!/bin/bash
while read -r line; do
found=0
echo "Scanning line : $line"
for word in $line; do
echo "Scanning word : $word"
for scan in $sentences; do
[[ $word =~ $scan ]] && found=1
done
done
[[ $found == 0 ]] && echo $line >> output.txt
sentences="${sentences} $line"
echo "Words to check : $sentences"
done < file.txt