5

これが私がソートで抱えている問題のスクリーンショットです:

http://i.imgur.com/cIvAF.png

私がこれから望む目的は、すべての等しい文字列を連続した行に配置することです。私が並べ替えているリストの99%で機能しますが、スクリーンショットのようないくつかの問題があります。

したがって、すべてのyahoo.comが隣り合っている必要があり、次にすべてのYahoo.com、次にYAHOO.coms yahoo.cmos yhoo.cなどがあります(タイプミスは独自の行グループを取得することもあります)

これをsortで処理する方法は完全にはわかりませんが、私は確かに試しています。

ソートされていないすべてのドメインをファイルに出力してから、バニラだけでソートしますsort filename

いくつかのアドバイス/入力が大好きです。

4

2 に答える 2

14

おそらくロケールをオーバーライドする必要があります。ほとんどのLinuxシステムは、デフォルトでUTF8ロケールに設定されています。これは、大文字と小文字を区別しない並べ替えと句読点の無視の両方を指定します。

LANG=C sort filename
于 2012-04-26T03:47:33.240 に答える
1

入力を少し正規化する

tr [A-Z] [a-z] 

「詩人のためのUnix」を読んでみてください

于 2012-04-26T19:38:09.030 に答える