You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AIX系统下使用sed删除文本最后一行末尾的“, \”

解决AIX系统中删除文本最后一行末尾“, \”的问题

嘿,你之前用的sed "s/\//" test.txt命令没生效很正常——它有两个关键问题:一是sed的替换语法不完整,二是匹配的模式根本没对准你要删除的目标内容。我来给你说下正确的处理方式,适配AIX系统的POSIX标准sed:

先预览修改效果(不改动原文件)

先运行这个命令看看结果是否符合预期:

sed '$s/, \\$//' test.txt

为啥这个命令管用?

  • $:这是sed的地址定位符,意思是只对最后一行生效,不会误改其他行;
  • s/, \\$//:这是核心的替换规则:
    • , \\:匹配你要删除的, (逗号加空格)加反斜杠——反斜杠在正则里是特殊字符,必须用另一个反斜杠转义才能正确匹配;
    • $:锚定到行的末尾,确保我们只删行尾的, \,不会误删行中间出现的相同字符;
    • 最后面的空内容表示把匹配到的部分直接删掉。

直接修改原文件(AIX sed没有GNU sed的-i选项)

如果确认预览结果没问题,要直接修改原文件的话,得借助临时文件中转(AIX的sed不支持直接原地修改):

sed '$s/, \\$//' test.txt > temp.txt && mv temp.txt test.txt

这样就能精准删掉最后一行末尾的, \啦。

内容的提问来源于stack exchange,提问作者HK2432

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 22:37:51