トルコ語のテキストを含むutf-8ファイルがあります。 (私のシステムはMacOSXです)
$ file -I foo.merge
$foo.merge: text/plain; charset=utf-8
以下を使用していくつかのトルコ語の特定の文字を表示しようとすると問題はありませんgrep
。
$ grep 'Emiroğlu' foo.merge
EMİROĞLU Emiroğlu+Noun+A3sg+Pnon+Nom Emiroğlu+Noun+Prop+Noun+A3sg+P3sg+Nom Emiroğlu+Noun+Prop+Noun+A3sg+Pnon+Nom NOTFOUND
less
問題なくコマンドを使用してファイルを表示することもできます。
ただし、以下を実行しようとすると、トルコ語の文字が正しく表示されません。
$ grep 'Emir' foo.merge | less
EMİROĞLU ESC[1;35;40mESC[KEmirESC[mESC[Koğlu+Noun+A3sg+Pnon+Nom ESC[1;35;40mESC[KEmirESC[mESC[Koğlu+Noun+Prop+Noun+A3sg+P3sg+Nom ESC[1;35;40mESC[KEmirESC[mESC[Koğlu+Noun+Prop+Noun+A3sg+Pnon+Nom NOTFOUND
または、次のいずれかが機能しません。
$grep 'Emir' foo.merge > foo2.out
$less foo2.out
何が問題なのでしょうか?以下は、いくつかの追加情報です。
$ locale
LANG="en_US.utf-8"
LC_COLLATE="en_US.utf-8"
LC_CTYPE="en_US.utf-8"
LC_MESSAGES="en_US.utf-8"
LC_MONETARY="en_US.utf-8"
LC_NUMERIC="en_US.utf-8"
LC_TIME="en_US.utf-8"
LC_ALL="en_US.utf-8"
ベストアンサー1
トルコ語のテキストがよさそうです。しかし、grepは出力にカラーコードを挿入しました。
選択する:
- grepにオプションを追加します
--color=never
(色を削除)。 - lessにオプションを追加します
-R
(ASCIIカラーコードを解釈するにはLessに指示します)。