「已注销」 2023-04-04 17:32 采纳率: 100%
浏览 16
已结题

使用sed 命令出错了(操作系统-linux)

使用sed 命令

使用$ sed 's/7$/40/g' file.txt时,file的内容像预想的一样变更了,但是用diff查看并没有变更成功,操作系统是AIX

  • 写回答

1条回答 默认 最新

  • kelsel 2023-04-05 09:00
    关注

    sed 命令默认情况下不会直接修改源文件,而是将修改后的内容输出到标准输出(通常是终端)。
    如果您希望使用 sed 命令直接修改文件,可以使用 -i 选项。但是需要注意的是,在 AIX 上的 sed 不支持 -i 选项。因此,您需要使用以下方法之一来实现:

    使用 sed 将修改后的内容输出到一个临时文件,然后用 mv 命令覆盖原文件:
    sed 's/7$/40/g' file.txt > file.txt.tmp
    mv file.txt.tmp file.txt

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月4日