Hive非表示分割文字001を可視文字に置換

1056 ワード

Hiveのデフォルトの区切り文字は001で、非可視文字に属し、この文字はviで^Aです.
テキスト1,000_0、直接catの内容は以下の通りです.
320643204N2559613979 320828796N446323 320829214N38122627
viが開き、以下のように表示されます.
320643204^AN^A25596^A13979 320828796^AN^A446^A323 320829214^AN^A3812^A2627
このとき、Escキーを押して、%sと入力します:%sこのときCTRL+V+Aを押します(自動的に^Aになります)、次に/|/gを入力します.以下のようにします.
:%s/^A/|/g

置換:
320643204|25596|13979 320828796|446|323 320829214|N|3812|2627
保存すればいいです.
一番簡単な方法はsedです(この^AはCTRL+V+Aで打ったので注意してくださいね、直接入力した^Aはだめです.)
sed -i 's/^A/|/g' 000000_0

^Aは端末の下で通常CTRL+V+Aで構成される.
もう一つの方法はtrを使うことです
tr '\001' '\|' <000000_0> 000000_1

隠し文字を含むファイルを00000_0新しいファイルとして保存1