SED-使用$将字符串插入行的开头而不是末尾



我没有从sed的s/$/2021-07-21/'demotoytable.csv 中获得预期结果

在命令之前,前3行看起来像:

urlhm|main_code|description|taxable|itemnum|xtras
t3mr.com/guitar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522831|bag
t3mr.com/guitar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522835|box
t3mr.com/guitar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522839|case

但是在运行命令sed 's/$/|2021-07-21/' demotoytable.csv之后我得到这个结果:

|2021-07-21code|description|taxable|itemnum|xtras
|2021-07-21itar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522831|bag
|2021-07-21itar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522835|box
|2021-07-21itar/qrc/G19RTE000000753|G19RTE0000007530|Promo_labor_day_006|Consignment|7522839|case

关于为什么会发生这种情况,或者更好的是如何解决,有什么想法吗?我希望每一行都以w"结尾|2021-07-21";,不要从它开始。在运行Big Sur 的Mac Pro上

感谢

删除回车,然后添加要添加的文本:

sed 's/r$//; s/$/|2021-07-21/' demotoytable.csv

s/r$//删除行尾的回车,s/$/|2021-07-21/则将您选择的值附加到行尾。

最新更新