在其他字段中编辑txt文件中的特定字段数据

在其他字段中编辑txt文件中的特定字段数据,第1张

概述在其他字段编辑txt文件中的特定字段数据

我有一个名为BookDB.txt的txt文件,它具有以下数据。

little Prince:The Prince:15.00:188:9 Lord of The Ring:Johnny Dept:56.80:100:38 Catch Me If You Can:Mary Ann:23.60:6:2 Happy Day:Mary Ann:12.99:197:101

它由一个分隔符分隔,使得它的组由Title,Author,Price,Qtyleft和QtySold分隔。

这是我的问题,我需要提示input标题和作者,然后通过BookDB.txt检查find该书的行,并编辑它的价格。 我怎么去做呢? 这是我迄今为止所做的

read -p $'Title: ' updateTitle read -p $'Author: ' updateauthor #check if book exist in BookDB.txt if grep -Fq "${updateTitle}:${updateauthor}" BookDB.txt then read -p $'NewPrice: ' newPrice #This is the part i'm stuck else echo "Book does not exist" fi

权限被拒绝(publickey) – windows上的Git Bash

stty:标准input:不适用于设备的ioctl

如何在Bash循环中增加一个date

不能创build/ dev / stdout:没有这样的设备或地址

猫通过subprocess.Popen()调用时阻塞

backspace不会在bash中删除tput命令的下划线

什么是猫,在这里做什么?

Bash,指的是按值排列?

从pipe道中读取数据,并在两者之间延迟写入标准。 也必须处理二进制文件

linux bash脚本,添加数字的recursion

单程:

if grep -Fq "${updateTitle}:${updateauthor}" BookDB.txt then read -p $'NewPrice: ' newPrice awk -F: -v title="$updateTitle" -v auth="$updateauthor" -v price=$newPrice '$1==Title && $2==auth{$3=price;}1' OFS=":" BookDB.txt >> BookDB.txt_tmp mv BookDB.txt_tmp BookDB.txt else echo "Book does not exist" fi

使用awk ,第三个字段被更新,内容被复制到一个临时文件中,然后被重新命名为原始文件。

参数updateTitle,updateauthor和newPrice使用-v选项传递给awk 。 第一个( $1 )字段与updateTitle进行检查,第二个字段( $2 )与updateauthor进行检查,如果两者匹配,第三个字段用newPrice( $3=price )取代。 1最后是打印每一行。

使用sed(GNU) :(代替上面的awk和mv)

sed -i "s/(${updateTitle}:${updateauthor}:)([^:]*)(.*)/1${newPrice}3/" file

这是另一个解决方案:

if grep -Fq "${updateTitle}:${updateauthor}" BookDB.txt then read -p $'NewPrice: ' newPrice sed -i -e "s/${updateTitle}:${updateauthor}:[^:]+/${updateTitle}:${updateauthor}:${newPrice}/g" BookDB.txt else echo "Book does not exist" fi

总结

以上是内存溢出为你收集整理的在其他字段中编辑txt文件中的特定字段数据全部内容,希望文章能够帮你解决在其他字段中编辑txt文件中的特定字段数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1293795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存