我有一個包含以下資訊的文本檔案 text.txt:
nesha [email protected] 311
neco 244
doda [email protected] 333
nicol [email protected]
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
所以這是我的腳本,我使用正則運算式來檢查域名并且它正在作業,但是如果沒有正確的域,腳本不會檢查數字是奇數還是偶數或不跳過該行,所以有什么幫助嗎?tnx
uj5u.com熱心網友回復:
我希望我理解了這個任務,你看看這是否有幫助?
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 列是否不為空,然后檢查電子郵件是否有效,然后才檢查數字是偶數還是奇數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/492661.html
上一篇:Chrome看不到大部分本地檔案
