I'm trying to read a file of regexes, looping over them and filtering them out of another file. I'm so close, but I'm having issues with my $regex var substitution I believe.
while read regex
do
awk -vRS= '!/$regex/' ORS="\n\n" $tempOne > $tempTwo
mv $tempTwo $tempOne
done < $filterFile
$tempOne and $tempTwo are temporary files. $filterFile is the file containing the regexes.
$regex is not getting expanded because it is single quoted. In bash, expansions are only done in doublequoted strings:
foo="bar"
echo '$foo' # --> $foo
echo "$foo" # --> bar
So, just break up your string like so:
'!'"/$regex/"
and it will behave as you expect. The ! should not be evaluated, since that will execute the last command in your history.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With