unix - 用另一个值替换 unix 文件中的最后一列

标签 unix vim replace sed

我想使用 vim 编辑器或 sed 命令将最后一列的值替换为另一个值。我尝试了以下命令,但它有时会替换第二列中已经存在的数据。

:%s/,3/,2/

我的示例数据:

410339,166,1430,3
410340,112,1840,3
410341,109,1315,3
410342,123,1435,3
410343,230,3200,3
410344,857,36975,3
410345,125,4440,3
410346,105,1460,3
410348,122,1150,3
410349,314,2380,3
410350,132,4650,3
410351,136,7465,3
410352,103,1775,3
410353,101,1095,3
410354,101,1360,3

最佳答案

您需要指明您想要行尾:

:%s/,3$/2/

关于unix - 用另一个值替换 unix 文件中的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557814/

相关文章:

c - 奇怪的重定向行为允许输出截断

JavaScript 字符串替换为正则表达式并作为参数运行

linux - 这个 ps 命令在 Linux 上有什么作用?

c - UNIX:退出时等待进程子进程?

unix - 自 1970 年 1 月 1 日以来的秒数 00 :00:00 GMT Erlang

regex - 如何删除一行中匹配项之间的所有文本?

python - 在 vim 中跳转到下一个 python 类或函数

vim - vimgrep 和 make 的不同快速修复缓冲区

javascript - 正则表达式/替换匹配组合中的任何字符

Javascript:使用正则表达式反向引用引用数组元素