データファイルにアクセスするプログラムをUnixに作成しようとしています。ファイル内で名前とユーザー名を追加、削除、検索しています。このifステートメントでは、ユーザーが最初のフィールドでファイル内のデータを検索できるようにしようとしています。ユーザー入力を大文字に変換する
ファイル内のすべてのデータには大文字が使用されているため、まずユーザー入力のテキストを小文字から大文字に変換する必要があります。なんらかの理由で、このコードは大文字に変換したり、データを検索して印刷したりすることはできません。
どうすれば修正できますか?
if [ "$choice" = "s" ] || [ "$choice" = "S" ]; then
tput cup 3 12
echo "Enter the first name of the user you would like to search for: "
tput cup 4 12; read search | tr '[a-z]' '[A-Z]'
echo "$search"
awk -F ":" '$1 == "$search" {print $3 " " $1 " " $2 }'
capstonedata.txt
fi
私はいくつかのサンプルデータと予想される出力を追加すると便利だと思う。そして、「このコードは機能していません」ということを意味します。 – dan08
次の行にファイル名を入力すると思いますか? "awk -F": "$ 1 ==" $ search "{print $ 3" "$ 1" "$ 2}" capstonedataあなたはコマンドとして扱うには最後に ' .txt'。それ以外の場合は、別々のコマンドとして扱います。 – Ben
あなたは '検索を読みたいです。 = $(echo "$ search" | tr '[a-z]' '[A-Z]'; ... 'と' awk -v srch = "$ search" '{...} '。 – shellter