アカウント名:
パスワード:
個人的には、bashにこれをさせるのか、とは思いますがそれはさておき。
(1) 入力(data)を1行ずつ読み、タグをチェック。(2) 前回の出力のタグ(以下prekey)と現在行のタグが違う場合は、そのまま出力。(3) 前回の出力のタグ(以下prekey)と現在行のタグが同じ場合は、出力せずバッファに保存(nextdata)。(4) dataの処理が終わって、nextdataにデータが残っていれば、(1)~(3)をnextdataに対して再実行。(5) もし(1)~(3)の処理で一度も出力できなかったのにnextdataがある場合(これは同じタグばかり残った場合)は諦めてまとめて出力して終了。
#!/bin/bash
inputfile=data.txtoutputfile=result.tx
最後に諦めてどばっと出力してしまうのはツメを誤ったなと思い直しました。たぶん出力のあたまから探していって、どこか挿入できるところに1行ずつ挿入してゆけば、完全に条件を満たす出力が作れる可能性がありますね。(でも実現するコードは書いていませんが)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
解答例 (スコア:2)
個人的には、bashにこれをさせるのか、とは思いますがそれはさておき。
(1) 入力(data)を1行ずつ読み、タグをチェック。
(2) 前回の出力のタグ(以下prekey)と現在行のタグが違う場合は、そのまま出力。
(3) 前回の出力のタグ(以下prekey)と現在行のタグが同じ場合は、出力せずバッファに保存(nextdata)。
(4) dataの処理が終わって、nextdataにデータが残っていれば、(1)~(3)をnextdataに対して再実行。
(5) もし(1)~(3)の処理で一度も出力できなかったのにnextdataがある場合(これは同じタグばかり残った場合)は諦めてまとめて出力して終了。
#!/bin/bash
inputfile=data.txt
outputfile=result.tx
人生は七転び八起き、一日は早寝早起き
Re:解答例 (スコア:2)
最後に諦めてどばっと出力してしまうのはツメを誤ったなと思い直しました。
たぶん出力のあたまから探していって、どこか挿入できるところに1行ずつ挿入してゆけば、完全に条件を満たす出力が作れる可能性がありますね。
(でも実現するコードは書いていませんが)
人生は七転び八起き、一日は早寝早起き