如何将文本添加到命令结果的末尾

coo*_*kie 5 shell scripting bash shell-script

我有一个在脚本上使用的命令,并且运行良好。我需要在该命令的结果中附加一些文本。

命令:

ssh target_server "/home/directory/somescript.sh" | tail -1
Run Code Online (Sandbox Code Playgroud)

我想在上面命令的结果上添加一些文本。

结果示例:

ssh target_server "/home/directory/somescript.sh" | tail -1
Run Code Online (Sandbox Code Playgroud)

示例期望结果:

This is the original result
Run Code Online (Sandbox Code Playgroud)

Qua*_*odo 5

通过管道将其传输到sed

ssh target_server "/home/directory/somescript.sh" | tail -1 | sed 's/$/ - target server/'
Run Code Online (Sandbox Code Playgroud)

语法是s/regexp/replacement/flags.

  • s调用替代命令。
  • /是分隔符。您可以选择其他字符作为分隔符。
  • $位于正则表达式槽中。$匹配行尾。
  • - target server是替换正则表达式槽匹配内容的文本。

如果替换文本包含/(例如,- target 01/10),您可以对其进行转义或选择另一个分隔符:

sed 's/$/ - target 01\/10/'
sed 's|$| - target 01/10|'
Run Code Online (Sandbox Code Playgroud)

  • @pLumo 它不能是多行结果,那里有一个“tail -1”。 (3认同)