с Perl:
perl -lne 'print if /string1|string2|string3/;' file1 file2 *.fileext
С Bash один вкладыш:
while read line; do if [[ $line =~ string1|string2 ]]; then echo $line; fi; done < file
С помощью скрипта Bash:
#!/bin/bash
while read line
do
if [[ $line =~ string1|string2|string3 ]]; then
echo $line
fi
done < file
Обратите внимание, что все пробелы вокруг "[[$ line = ~ string1 | string2]]" актуальны то есть эти ошибки в Bash:
[[ $line=~string1|string2 ]] # will be alway true...
[[$line =~ string1|string2]] # syntax error