改行文字をsedに置き換える方法は? [コピー]

改行文字をsedに置き換える方法は? [コピー]

置き換えるスペース(改行を含む)を含むテキストがあります。使いたいのですが、sedAIXではサポートしていないようです。回答私が見つけた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\+/ /'

おすすめ記事