テキストファイルがあります。
テキストファイルの情報は
Book1:Author1:10.50:50:5
Book2:Author2:4.50:30:10
1 番目は書籍名、2 番目は著者名、3 番目は価格、4 番目は数量、5 番目は販売数量です。
現在、私はこの一連のコードを持っています
function search_book
{
read -p $'Title: ' Title
read -p $'Author: ' Author
if grep -Fq "${Title}:${Author}" BookDB.txt
then
record=grep -c "${Title}:${Author}" BookDB.txt
echo "Found '" $record "' record(s)"
else
echo "Book not found"
fi
}
$record について、見つかった行数をカウントしようとしています。このコードを実行すると、エラーコマンド -c が表示されるだけなので、正しいことをしたでしょうか。
私がこれをしたとき
echo "Found"
grep -c "${Title}" BookDB.txt
echo "record(s)"
うまくいきましたが、出力は
Found
1
record(s)
一緒にいてほしい
grep -i を grep -Fq に追加して、すべてを小文字にして検索を改善することはできますか?
Book1 と Author1 を検索したい場合、タイトルに「ok」、著者に「uth」と入力した場合、タイトルと著者の中間で検索するためにタイトルに追加する % コマンドはありますか?
期待される出力も期待されます..
Found 1 record(s)
Book1,Author1,$10.50,50,5.
: 区切り文字を , に変更できる場所はありますか? また、米である3列目に$を追加しますか?
助けてください..