2

テキストファイルがあります。

テキストファイルの情報は

Book1:Author1:10.50:50:5
Book2:Author2:4.50:30:10

1 番目は書籍名、2 番目は著者名、3 番目は価格、4 番目は数量、5 番目は販売数量です。

私は価格を更新しようとしていましたが、それはうまくいきます:

read -p $'New Price: ' newPrice
sed "s/${Title}:${Author}:[^:]\+/${Title}:${Author}:${newPrice}/g" BookDB.txt > tempBook.txt
mv -f tempBook.txt BookDB.txt
echo "Book price updated!"

プログラムを終了し、次を使用して数量を更新するコードを追加すると:

read -p $'New Quantity: ' newQty
sed "s/${Title}:${Author}:${Price}:[^:]\+/${Title}:${Author}:${Price}:${newQty}/g" BookDB.txt > tempBook.txt
mv -f tempBook.txt BookDB.txt
echo "Book quantity updated!"

価格情報を紛失したため、数量を更新できませんでした。価格が保存されているプログラムに新しい本をすぐに追加した場合、数量を編集できましたが、他の本については、利用可能な数量を編集することはできませんでした.

誰か助けてくれませんか?本の価格の値を抽出/保存できるかどうか疑問に思っていました。

4

1 に答える 1

1

更新数量については、次を使用できます。

read -p $'New Quantity: ' newQty
sed -re "s/${Title}:${Author}:([^:]+):[^:]+/${Title}:${Author}:\1:${newQty}/g" BookDB.txt > tempBook.txt
mv -f tempBook.txt BookDB.txt
echo "Book quantity updated!"
于 2013-01-20T10:14:25.210 に答える