我有需要替换的带有空格(包括换行符)的文本。我想用sed
,但AIX似乎并不支持答案来sed
,我发现换行的问题。我使用的 bash 版本是“GNU bash,版本 3.00.16(1)-release (powerpc-ibm-aix5.1)”
如果我运行一个命令输出一堆文本行,如:
alias: aliasname
10:00:00:00:00:00:00:00
Run Code Online (Sandbox Code Playgroud)
使每行一行的最佳方法是什么?如果我使用ssh user@system command | tr '\n' ' '
,它会替换两个换行符,我需要保留最后一个,否则输出会变成一行。
编辑:到目前为止我尝试过的是:
| sed -e ':1' -e 'N' -e '$!b1' -e 's/\n/ /g'
它替换所有换行符,将整个输出流放入一行。| while read i; do printf "%s " $i; done; echo
这也替换了所有换行符| tr -d '\n'
and | tr -d '\n'; echo
,它仍然替换所有换行符,但是 echo 在最后一个命令中添加了一个。