您好,我制作了一个脚本,它从我的数据库中获取数据并将其存储到 .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/