Shell-Script
如何在 shell 腳本中比較兩個文件的字元串?
第一個欄位是使用者名,第二個是密碼,最後一個表示操作(登錄/註冊)
文件 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