我有一个文本文件。
文本文件中的信息是
Book1:Author1:10.50:50:5
Book2:Author2:4.50:30:10
第一个是书名,第二个是作者名,第三个是价格,第四个是数量,第五个是销量。
目前我有这组代码
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.
有什么地方可以将 : 分隔符更改为 , 吗?还要在第三列加$是大米?
请帮忙..