置き換えるスペース(改行を含む)を含むテキストがあります。使いたいのですが、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
1行に1行ずつ作成する最良の方法は何ですか?を使用すると、ssh user@system command | tr '\n' ' '
2つの改行文字が置き換えられ、最後の改行文字は維持する必要があります。それ以外の場合、出力は1行になります。
編集:これまで私が試したことは次のとおりです。
| sed -e ':1' -e 'N' -e '$!b1' -e 's/\n/ /g'
すべての改行を置き換えて、出力ストリーム全体を1行に入れます。| while read i; do printf "%s " $i; done; echo
これはまた、すべての改行文字を置き換えます。| tr -d '\n'
そして| tr -d '\n'; echo
、まだすべての改行を置き換えますが、最後のコマンドにエコーを追加します。
ベストアンサー1
最も簡単
ssh user@system command | tr '\n' ' ';echo
またはあなたが望むならsed
ssh user@system command | sed 'N;s/\n\s\+/ /'