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

如何用sed或其他命令行流编辑器将字符串AAA替换为回车符^M

用sed或awk替换指定行中的字符串为回车符

sed 实现方式

方式1:手动输入回车符(^M)

在终端执行命令时,^M需要通过Ctrl+V 后按 Ctrl+M的方式输入(终端会显示为^M):

sed '/abcAAA/s/AAA/^M/' input.txt

如果要替换所有包含AAA的行(比如你提供的示例中的123AAA行),将匹配条件改为/AAA/即可:

sed '/AAA/s/AAA/^M/' input.txt

方式2:使用Shell转义字符(bash/zsh 适用)

利用Shell的ANSI-C转义语法$'\r'直接表示回车符,无需手动输入特殊字符:

sed '/abcAAA/s/AAA/'$'\r''/' input.txt

直接修改原文件

如果需要直接修改输入文件而非仅输出结果,GNU sed可添加-i参数:

sed -i '/abcAAA/s/AAA/'$'\r''/' input.txt

BSD sed(如macOS系统)需添加空参数:

sed -i '' '/abcAAA/s/AAA/'$'\r''/' input.txt

awk 实现方式

使用awk的sub函数完成替换,用\r表示回车符:

awk '/abcAAA/{sub(/AAA/, "\r")}1' input.txt

解释:/abcAAA/匹配目标行,sub执行替换操作,末尾的1用于输出所有行(包括未修改的行)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:15:38