2017-07-19 6 views
1

データが印刷できない文字で区切られたCentosに.datファイルがあります。フィールドの区切り文字として使用される16進文字をパイプに置き換えます。

フィールド区切り文字はHex(1D)で、レコード区切り文字の末尾はHex(0D0A)です。私は、ファイルをcat場合、それは次のようになります。

field1^]field2^]field3^M$ 

質問:私は引くことができるように、私は「パイプ」区切り文字(または任意の他の適切な区切り文字)と六角1Dを交換するための方法がありますいくつかの分析のためのデータにExcel?私の計画では、パイプを区切り文字として使用してフィールドをExcelの列に分割します。

ここで私がパイプで置き換えるのは、フィールド内のデータセットの1つに誤ってパイプがあると、データが誤って分割される可能性があるということです。つまり、上記の例に基づいて、 3列。

また、この問題に近づいているはずの他の方法がありますか?最終目標は、データを適切にフォーマットしてExcelまたはTableauで視覚化することです。

答えて

0

これを翻訳する方法はたくさんあります。最も単純なのはおそらくtrです。標準出力への書き込み

tr[OPTION]... SET1 [SET2]

、翻訳スクイーズ、および/または標準入力から文字を削除

、 。

tr '\035' '|' < data.file 

trのみ\oooをエスケープし、0o035が0x1Dのされた進をサポートしています。)

(レコード区切り文字は、すでにほとんどのプログラムは理解しておく必要があります(DOS形式)CRLFの改行、である。だからあなたがする必要があるすべてでなければなりません)

+0

あなたは伝説です。魅力のように働き、常に良い新しいものを学びました。 – Sandeep

関連する問題