在使用bashscript的条件下检查TXT的正确信息



我有一个文本文件text.txt,内容为info:

nesha nesha@gmail.com 311
neco 244
doda doda@gmail.com 333
nicol nicol@gmail.com
boter boter@nginx 220

我想用bash脚本检查所有用户的域名是否有"。com"如果它是有效的,然后检查他们的ID (ID是第3列),如果它是奇数或偶数,并告诉我,如果没有域名,只是继续下一行。

input="text.txt"
regex='.com'
while read -r _ rec_column2 rec_column3
do
if [[ $rec_column2 =~ $regex ]] || [[ $((rec_column3 % 2)) -eq 0 ]]
then 
echo "$rec_column3 IS valid and even";
elif [[ $rec_column2 =~ $regex ]] || [[ $((rec_column3 % 2)) -eq 1 ]]
then 
echo "$rec_column3 IS valid and odd";
elif [[ -z "$rec_column3" ]]
then
continue
else
echo "$rec_column3 IS NOT valid"
fi
done < $input

输出:

311 IS valid and even
IS valid and even
333 IS valid and even
IS valid and even
220 IS valid and even

所以这是我的脚本,我使用regex检查域名,它的工作,但脚本不检查数字是奇数还是偶数或不跳过行,如果没有正确的域,所以有帮助吗?tnx

我希望我理解了任务,你能看看这是否有帮助吗?

input="text.txt"
regex='.com'
while read -r _ rec_column2 rec_column3
do
if [[ -z $rec_column3 ]]
then
continue
fi
if [[ $rec_column2 =~ $regex ]]
then
if [[ $((rec_column3 % 2)) -eq 0 ]]
then
echo "$rec_column3 IS valid and even";
else
echo "$rec_column3 IS valid and odd";
fi
else
echo "$rec_column3 IS NOT valid"
fi
done < $input

我已经改变了条件的顺序,首先检查第3列是否为空,然后检查电子邮件是否有效,然后检查数字是偶数还是奇数

相关内容

  • 没有找到相关文章

最新更新