同じ数の指定された文字が含まれている場合は、1行を次の行に関連付けます。

同じ数の指定された文字が含まれている場合は、1行を次の行に関連付けます。

concat指定された数の指定された文字を含む行が必要です。よくわかりません。pythonorでは簡単ですが、ループやを使わずに /// を使ってこれを行いたいとruby思います。 1行に何文字が含まれているのか、次の行に同じ数の文字が含まれているのかを計算する必要があります。perlsedawkbashuniq -cplusconcat

a+a
a+a
a+a+a
a+a+a
a+a+a+a
a+a+a+a

出力は次のようになります。

a+a + a+a
a+a+a + a+a+a
a+a+a+a + a+a+a+a

ベストアンサー1

awk -F "+" 'NR%2{nf=NF;l=$0;next}{sep=(nf==NF?" + ":RS);printf "%s%s%s\n",l,sep,$0}' file

ライン別分析のために拡張してみましょう。

awk -F "+" '
  NR%2{nf=NF;l=$0;next}
  {
    sep=(nf==NF?" + ":RS)
    printf "%s%s%s\n",l,sep,$0
  }
' file
  • フィールド区切り記号をに設定します+
  • 行番号が奇数(NR%2)の場合は、フィールド数を入力しnfてレコード全体を入力しますl
  • その他、
    • この行のフィールド数が前の行のフィールド数と等しいかどうかを設定しますsep=" + "。それ以外の場合は設定しますsep=RSRSレコード区切り文字は改行です)。
    • lsepおよび$0改行文字を印刷します。

おすすめ記事