如何为shell命令输出的每一行统一添加前置缩进
Shell输出每行开头新增4个空格的实现方法
以下是几种常用的可直接接入管道的处理方案:
- sed方案(流式处理首选)
直接在原命令后接sed替换逻辑,匹配每行开头位置插入4个空格即可:# 替换your_command为实际要执行的命令 your_command | sed 's/^/ /' - awk方案
逐行读取输出内容后,在整行内容前拼接4个空格再输出:your_command | awk '{print " " $0}' - pr工具方案
用专用于文本格式化的pr工具实现,-t参数关闭默认的页眉页脚输出,-o 4指定全局缩进4个字符:your_command | pr -t -o 4
你可以用以下命令直接验证效果:
echo -e "really\nlong\nline" | sed 's/^/ /'
输出结果和要求的格式完全一致:
really long line
内容的提问来源于stack exchange,提问作者Elsie
相关产品推荐
相关产品推荐

