私は制御できない形式の大きなテキストファイル(600MB)から生データを解析しようとしています。
問題は、行末の位置が間違っていることです。
head -1 filename | wc -w
各行は約1.2Kの単語を生成します。私のターゲット行は\ x 06文字で区切られています。
各行が ^F(\x06) で終わるか開始するように、この行をどのように再構成できますか?私は多くのsedチュートリアルを読んだが、この種のプロセスについては誰も言及していない...
^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0
sedまたはこれに似た方法でこれを行うための最良の方法は何ですか?
答え1
awk
改行以外のレコード区切り文字を使用できます。次のように使用できます。
awk 'BEGIN { ORS=RS="\x06" } ...' input-file
ここで...はデータに対して実行したいことです。