gpt4 book ai didi

linux - 如何在 sed 上替换字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:10 25 4
gpt4 key购买 nike

您好,我制作了一个脚本,它从我的数据库中获取数据并将其存储到 .csv 文件中

.csv 文件的内容:

1-Mar-12,183991,1017  --- --- more columns are there
2-Mar-12,,,,,,,,,,,,
3-Mar-12,,,,,,,,,,,,
4-Mar-12,,,,,,,,,,,,
5-Mar-12,,,,,,,,,,,,
6-Mar-12,,,,,,,,,,,,

当我尝试根据日期替换字符串时,它将添加所有相应的日期。

例如

我想在 2-Mar-12 替换一个字符串

命令是

sed "s/$finddate/$finalstring/" dailyrep.csv > DailyReport_$datenow.csv


sed "s/2-Mar-12/$mydata/" origfile > fileto store

输出是

2-Mar-12,177950,8159,95.62%,6785711
3-Mar-12,,,,,,,,,
4-Mar-12,,,,,,,,,
5-Mar-12,,,,,,,,,
6-Mar-12,,,,,,,,,

11-Mar-12,,,,,,,,,,,,,,,,,,,,
12-Mar-12,177950,8159,95.62%,


21-Mar-12,,,,,,,,,,,,,,,,,,,
22-Mar-12,177950,8159,95.62%

我只想替换那个特定的日期,而不是所有出现的日期。

最佳答案

您可以使用此 sed 命令:

$ sed "/^$finddate/s/$mydata/$finalstring/" dailyrep.csv

它只在包含$finddate 的行上将$mydata 替换为$finalstring

关于linux - 如何在 sed 上替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9548362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com