如何在 bash 中对齐命令输出

如何在 bash 中对齐命令输出

我有一个命令,它给我输出如下:

total time take                           11.1464s

我想像这样打印它:

total time take=11.1464s

如何在 shell 脚本中完成此操作?

答案1

尝试,

... | sed 's/   */=/'

或者

... | sed -E 's/  +/=/'

或者如果不是空格而是制表符:

... | sed -E 's/ \t+/=/'

(这适用于 GNU sed,但可能不适用于所有版本的 sed)

答案2

通过管道传输任何显示该文本的命令sed

yourcommand | sed -r 's/ +([^ ]+)$/=\1/'

如果它是一个文件:

sed -r 's/ +([^ ]+)$/=\1/' yourfile

相关内容