文字を含む行の終わりに1行ずつ移動します。

文字を含む行の終わりに1行ずつ移動します。

いくつかの情報を取得するために、一緒にリンクされた2つのxpathクエリを実行しました。しかし、結果は別の行にフォーマットされていますが、私は同じ行になりたいです。たとえば、次の行は次のようになります。

<id>rd://data1/8b</id>
<name>DM_test1</name>
<id>rd://data2/76f</id>
<name>DM_test_P</name>

<name>しかし、次のように始まる行が次の行の横にあることを望みます</id>

<id>rd://data1/8b</id><name>DM_test1</name>

どうすればいいですか?私のxpathクエリにスペースがないことを確認するために何かを追加できる部分がありますか?それとも、<name>行を上に移動する正規表現はありますか?

約20行以上あるため、手動で実行することはできません。

答え1

そしてsed

sed -e '$!N;/\n<name>/s/\n//' file

すべての行が順番にある場合は、次のものを使用できますpaste

paste -sd'\0\n' file

関連情報