sed出力でラインフィード/キャリッジリターンを回避するには?

sed出力でラインフィード/キャリッジリターンを回避するには?

1行を数回分解し、各ステップの後に再組み立てしますが、各コマンドは出力に新しい行を追加します。

デフォルトでは、次のコマンドは次のとおりです。

h
s#(^.*?)(\[\{.*$)#\1#p
g
s#(^.*?)(\[\{.*?\}\])(.*)$#echo \2 | jq --sort-keys --compact-output#ep
g
s#(^.*?\}\])(.*)$#\2#p
z

しかし、元の行はsedの後に3行を生成します。各行は/p内容の後に改行を追加するためです。これをどのように避けることができますか?入力の1行は出力の1行につながる必要があります。

代わりに、フラグ付きのファイルにコマンド結果を書き込み、コマンドで読み取ろうとしましたが、ファイルの内容が出力に直接追加され、/p同じ結果が表示されます。s/w filenamer filename

/psedに-nコマンドライン引数を追加しようとしたからです。

コンテキストを追加するには、タイムスタンプ、リクエストURI、リクエストJSON本体、リクエストヘッダーで構成されるログHTTP POSTリクエストを解析しており、次のものを使用しようとしています。ジャックJSON属性の統合ソート。

ベストアンサー1

あなたの質問を正しく理解したら、を使用して改行tr -d '\n'文字を削除することができますsed

おすすめ記事