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

如何打印文件内容时解释转义序列,使其在终端正确展示

失效原因说明

你使用的命令无法得到预期结果,存在两个问题:

  1. xargs默认会将输入中的反斜杠识别为转义标记,直接吃掉了文件里的\,导致传递给echo的内容变成了hello n world
  2. 多数shell内置的echo默认不开启转义序列解析,需要添加-e参数才会识别\n这类转义符

可用解决方案

  • 方案1:使用printf(兼容性最好,全平台通用,支持所有标准转义序列解析)
printf '%b\n' "$(<file)"

%b是printf专用的转义解析格式符,会自动处理输入字符串中的所有反斜杠转义序列,$(<file)是bash中读取文件内容的高效写法,等价于$(cat file)。

  • 方案2:修正原有管道写法
cat file | xargs -d '\n' -I {} echo -e {}

-d '\n'参数指定xargs仅将换行作为输入分隔符,不再处理反斜杠转义,保留文件中原有的\,搭配echo -e开启转义解析即可得到预期效果。

  • 方案3:仅针对\n转义的轻量替换方案
sed 's/\\n/\n/g' file

直接将文件中所有字面量\n替换为实际换行符,不需要依赖额外的转义解析逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:45:02