1以下のPerlスクリプトは、次の要件を前提としています。入力には、数字または数字以外で始まる行のブロックが交互に含まれます。数字行の各ブロックの後にテキスト行のブロックが続きます。更新:出力の場合、そのブロックの最後の番号行の最初の5列を、直後のテキストブロックの各テキスト行の先頭に追加する必要があります。他のテキスト行はそのまま印刷されます。このコードは、バッファー内の行数とテキスト行を収集します。これらは、次のnumber-linesブロックの最初の行に到達すると処理され、空になります。これは、両方のバッファーが空でない場合です。();}上記のeofを含む条件は、最後の行で他のテストが機能しないため、numberおよびtextブロックの最後のバッチを処理するために必要です。その配置は、最後の行がテキスト行でなければならないことを前提としています。これは要件の私の仮定から続きます。();}これは、スプライスを使用してテキスト出力の最初の3列を一度に削除し、最後の行の(5)列で印刷します。すべて処理(印刷)されます。2次のようにこのコマンドを使用できます。file少なくとも2行のウィンドウを開きます。前の行の先頭が現在の行とまったく同じで、現在の行が長い場合は、前の行を削除して繰り返します。それ以外の場合は、印刷してから最初の行を削除して繰り返します。これは、awkスクリプトに従って実行されます。元のデータを使用して同じソリューションを実現するには、次を使用します。