问题:怎么使字符串b输出时每行缩进4个空格?
希望得到的效果:
求教!
如果要求是除了第一行,都缩进,用sed很方便:
a="test message:" b="a\nb\nc\nd\n" c="$a\n$b" printf "$c" | sed '1!s/^/ /'
或者使用bash的参数替换功能,"\n"对bash来说,只是两个普通字符,在它后面加4个空格就是了:
printf "${c//\\n/\n }"
如果是希望给变量b加上缩进,那可以:
b="$(printf $b | pr -to4)"
a="test message:" s=" " b="$s"a"\n$s"b"\n$s"c"\n$s"d"\n" c="$a\n$b" printf "$c"
a="test message" b="a b c d" c="$a $b" printf '%s %4s\n%4s\n%4s\n%4s\n%4s\n' $c test message a b c d
可以这样:
a="test message:" b="\ta\n\tb\n\tc\n\td\n" c="$a\n$b" printf "$c"
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
如果要求是除了第一行,都缩进,用sed很方便:
或者使用bash的参数替换功能,"\n"对bash来说,只是两个普通字符,在它后面加4个空格就是了:
如果是希望给变量b加上缩进,那可以:
可以这样: