我想通过“工具”来管道进程的stdout,以便为每一行添加一些字符。我正在打击。
示例:
PREPEND=' * '
foo.bin | toolXY "$PREPEND"
如果foo.bin将输出:
hello
world
toolXY之后的输出应为:
* hello
* world
toolXY
的命令是什么?
答案 0 :(得分:2)
Awk也适用于此。
cat foo.bin | awk 'PREPEND=" * " {print PREPEND $0}'
答案 1 :(得分:1)
foo.bin | sed "s/^/$PREPEND/"
或
foo.bin | while IFS= read -r line; do echo "$PREPEND $line"; done
如果$PREPEND
可以包含不可预测的特殊字符,则第二个更强大。 IFS=
保留每行的前导空格,-r
保护反斜杠不被解释为转义序列。