我有一个变量,哪个商店包含
书名:作者:PRICE:QUANTITY:SOLDQUANTITY
在这种情况下是
皱纹及时:我的作者:50.00: 20 :50
我将它存储在
中Result=`awk -F : -v "Title=$1" -v "Author=$2" 'tolower($1) == tolower(Title) && tolower($2) == tolower(Author)' BookDB.txt`
但是我想把它分成4个变量,比如
TITLE= "wrinkle in time"
AUTHOR= "myauthor"
PRICE= "50.00"
Quantity= "20"
UNIT= "50"
然后我想对售出的单位进行计算
输入已售出单位:3
皱纹及时,我的作者,50.00,20,50
更新后
及时皱纹,myauthor,50.00,17,53
在此先感谢您的帮助,非常感谢!!!
答案 0 :(得分:2)
您可以使用$result
read
分隔为您描述的不同变量
IFS=: read TITLE AUTHOR PRICE QUANTITY UNIT <<< "$result"
示例:
$ result="wrinkle in time:myauthor:50.00:20:50"
$ IFS=: read TITLE AUTHOR PRICE QUANTITY UNIT <<< "$result"
$ echo "$TITLE - by - $AUTHOR"
wrinkle in time - by - myauthor
您还可以使用read
提示用户输入:
read -p "Enter units sold: " SOLDUNITS
这将存储在变量$SOLDUNITS
中输入的值。然后,您可以根据需要使用此更改$QUANTITY
和$UNIT
。要在bash
中执行(整数)算术,您可以使用$((expression))
构造:
QUANTITY=$((QUANTITY-SOLDUNITS))
或者:
((QUANTITY-=SOLDUNITS))