Shell-Script

如何在 shell 腳本中比較兩個文件的字元串?

  • February 4, 2018

第一個欄位是使用者名,第二個是密碼,最後一個表示操作(登錄/註冊)

文件 1:使用者輸入

hello,world,register

文件 2:純文字數據庫

admin,123
user,321
foo,bar

如何將使用者輸入與數據庫進行比較以檢查使用者名是否已存在?

我已經嘗試了以下程式碼,但它不起作用:

if cut -d "," -f1 user_input | grep -wf user_input database; then
   echo "This username is already in use, try again!"
else
   echo "Successfully registered!"
fi

PS:我需要一個沒有 awk、sed 或 find 的解決方案,只需 grep 和 cut

grep+cut方法:

if grep -qwf <(cut -d, -f1 user_input) database; then 
   echo "This username is already in use, try again!"
else
   echo "Successfully registered!"
fi

僅使用bash內置和grep.

while IFS=',' read -r username
do
   if grep -wq $username database
   then
       echo "This username is already in use, try again!"
   else
       echo "Successfully registered!"
   fi
done < user_input

引用自:https://unix.stackexchange.com/questions/421837