を含むテキストファイル(particulars.txt)があります
personId,personName,employmentType
details.txt
1,jane,partTime
2,bob,fullTime
3,john,fullTime
作業者の名前を入力すると、その人がフルタイムかパートタイムかをチェックし、ユーザーに給与を入力してその人だけのファイルに書き戻すように促すようにします。 . 詳しくご説明いたします。
例えば
Enter Name:jane
jane is a partTime staff
Enter Hourly Salary:10
したがって、テキストファイル(particulars.txt)は次のようになります
1,jane,partTime,10
2,bob,fullTime
3,johnfullTime
例2
Enter Name:bob
bob is a fullTime staff
Enter monthly Salary:1600
したがって、テキストファイル(particulars.txt)は次のようになります
1,jane,partTime,10
2,bob,fullTime,1600
3,john,fullTime
これが私のコードです
#!/bin/bash
fileName="particulars.txt"
read -p "Enter name:" name
if grep -q $name $fileName; then
employmentType=$(grep $name $fileName | cut -d, -f4)
echo "$name is $employmentType" staff"
if [ $employmentType == "partTime" ]; then
echo "Enter hourly pay:"
read hourlyPay
#calculations for monthly salary(which I have not done)
elif [ $employmentType == "fullTime" ]; then
echo "Enter monthly salary:"
read monthlySalary
fi
else
echo "No record found"
fi
read -p "Press[Enter Key] to Contiune.." readEnterKey
その人がどの雇用形態に属しているかしかわかりませんが、その特定の人だけの給与を行の最後に追加するにはどうすればよいか/何をすればよいかわかりません。私は sed を読みましたが、 sed を使用して結果を達成する方法についてまだ混乱しているため、皆さんからの助けを求めています。前もって感謝します