0

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

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

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

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

noCpySold を更新しようとしています。したがって、これを行うと、利用可能な数量 (4 番目の列) が減少し、販売された数量 (5 番目の列) が増加します。

read -p $'No of copies sold: ' noCpySold

sed -re "s/${Title}:${Author}:([^:]+):([^:]+)([^:]+)/${Title}:${Author}:\1:\1-${noCpySold}:\1+$noCpySold/g" BookDB.txt > tempBook.txt
mv -f tempBook.txt BookDB.txt

私はこのコードをテストしましたが、減算と加算は更新されませんでした..誰でも助けてくれますか?

4

1 に答える 1

0
awk -F: 'BEGIN {OFS=":"} { $4--; $5++; print $0}' filename >newfile
 mv newfile filename

これは awk の例です。編集:

 num_sold=13
    awk -F: -v sold=$num_sold 'BEGIN {OFS=":"} { $4-=sold; $5+=sold; print $0}' filename >newfile
     mv newfile filename
于 2013-01-26T13:03:15.663 に答える