4

区切り文字cutを使用してbashで使用できますか?¬

この質問は、ここで取り上げるトピックの延長です。そのリンクの目標の 1 つの解釈は、人間のテキストでは見つからない (または非常にまれにしか見つからない) 区切り文字を使用することです。'Not Sign' ( ¬) を区切り文字として選択したとします。cut私の質問は、区切り文字を使用してファイルの特定の列をプルするための使用に関するものです。

たとえば、¬区切り記号を使用してファイルを作成するとします。ファイル prac.txt は次のようになります。

$cat prac.txt
"Billy""Car"¬"Red"¬"Garage"¬"3"
"Rob"¬"Truck"¬"Blue"¬"Street"¬"14" 

次のプロセスではエラーが発生します。

$cut -d'¬' -f1 prac.txt  
cut: the delimiter must be a single character
Try `cut --help' for more information.

正しい出力は次のようになります。

"Billy"
"Rob"

Pythonからのおそらく有用な情報:

import unicodedata
>>>unicodedata.lookup('Not sign')
u'\xac'

おそらく便利な文字変換リンク.

私の推測では、-dフラグはまだ試していない「¬」の表現を使用しているか、単一のASCII文字でのみ機能します。助けてくれてありがとう。

4

1 に答える 1

7

UTF-8 では、「not 記号」は 2 バイトでエンコードされますc2 ac。これはcut間違いなくバグです。unix.stackexchangeに関するこのディスカッションを参照してください。

于 2013-11-06T20:21:09.320 に答える