【发布时间】:2018-07-20 18:57:42
【问题描述】:
在 BSD 系统上工作并且很难搜索变量以查看它是否包含多个不同子字符串中的任何一个。这就是我所拥有的:
> echo $lenck if test "${lenck#*$pattern1}" != "$lenck";
> then
> if test "${lenck#*$pattern2}" != "$lenck";
> then
> echo "Invalid or corrupted IP or process"
> echo $lenck | tee -a invalid.txt
> else
> pat2out=$lenck
> if test "${pat2out#*$pattern3}" != "$pat2out";
> then
> echo "Invalid or corrupted IP or process"
> echo $pat2out | tee -a invalid.txt
> else
> pat3out=$pat2out
> if test "${pat3out#*$pattern4}" != "$pat3out";
> then
> echo "Invalid or corrupted IP or process"
> echo $pat3out | tee -a invalid.txt
> else
> echo $pat3out | tee -a processed.txt
> fi
> fi
> fi
>
> else
> echo "Invalid or corrupted IP or process"
> echo $lenck | tee -a invalid.txt fi
问题是我需要能够搜索超过四种模式。尝试了 grep -e 和其他方法,但它们没有正确地将字符串过滤到正确的文件中。任何帮助表示赞赏。
【问题讨论】: