「列」を含む「無効または不完全なマルチバイトまたはワイド文字」

「列」を含む「無効または不完全なマルチバイトまたはワイド文字」

私はLinuxシステムを使用しており、ファイルで「列」を使用し、区切り文字として使用する拡張文字をファイルに追加したいと思います。その理由は、区切りが発生したくない場所に通常の印刷文字が表示される可能性があるため、「sed」を使用して区切りたい列がある場所のみを見つけて、その位置に拡張文字を追加するためです。その後、「列」区切り文字として同じ拡張文字を使用すると大丈夫です。
残念ながら、16進文字AEを試してください。

$ column -ts\xAE junk1  
column: Invalid or incomplete multibyte or wide character

...または他の拡張文字が機能しない場合は、引用符と私が考えることができる他のトリックのすべての組み合わせを試しました。しかし、tsは「列」が拡張文字を使用できるように聞こえるので、正しく入力するだけです。

答え1

Unicode 小文字 æ (例: u00E6) を印刷するには、以下を使用できます。

$ printf '\u00E6\n' 
æ

したがって、ファイルが次のような場合:

$ printf 'foobarbaz\u00E6bar\u00E6baz bar something else whohooo!\n' 
foobarbazæbaræbaz bar something else whohooo!

次の列を使用できます。

$ printf 'foobarbaz\u00E6bar\u00E6baz bar something else whohooo!\n' | 
    column -ts$'\u00E6' -o "::::::::"
foobarbaz::::::::bar::::::::baz bar something else whohooo!

ANSIエスケープ形式($'characterCode')を参照してください。スクリプトに$「プレフィックス付きの文字列」が含まれていることはどういう意味ですか?-o "::::::::"列を見やすくするために使用します。

関連情報