最初のフィールドはユーザー名、2番目のフィールドはパスワード、最後のフィールドは操作(ログイン/登録)を表します。
ファイル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のみのソリューションが必要です。
ベストアンサー1
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