awkで重複行を高速削除する。
awkで重複行を高速削除する。
行の重複削除で調べるとよく出てくるのが、sort & uniqを使ったコマンド。 ソートはファイルが大きくなると、実行にかなり時間がかかってしまいますね。
ソートせずに高速実行できるのが、次のawkコマンド。
awk '!colname[$1]++{print $1}'
こういうファイルがあって、一列目の名前を取得したいとき、!colname[$1]は、データをキーにした連想配列で、インクリメントされる。
ボブ りんご | colname["ボブ"] → 0 {print $1} マイケル まんが | colname["マイケル"] → 0 {print $1} マイケル まんが | colname["マイケル"] → 1 サブロー PC | colname["サブロー"] → 0 {print $1} サブロー キーボード | colname["サブロー"] → 1 ステファン PC | colname["ステファン"] → 0 {print $1} サブロー まんが | colname["サブロー"] → 2 ステファン まんが | colname["ステファン"] → 1
条件として!をつけているので、二回目以降はFalseとなって、そのデータが最初に現れた行だけを出力するというわけ。ソートは要らないね。
対象の列番号を変えたいときは、上のコマンドの$1を$2とか$3とかにすればおk。
Evernoteをもっとカッコよく使うためのChrome拡張
Markdownを使おう
みんな大好きEvernote。 ちょっとしたノート代わりに書き込んだり、Todoメモや備忘録としても使えて、何よりクラウドで共有できるのが便利ですよね。 自分も思いついたことは何でもEvernoteに書き溜めているのですが、文字の大きさとか文の構造とかをカッコよく、サクサク書けたらなと考えていました。
いろいろ探してみたところ、Markdown記法で書けるようになる拡張機能が良さげなので、Chromeに追加してみました。
ちなみに、Markdown記法ってなに?っていう人。Markdown記法の特徴は、
- 文構造が直感的で覚えやすい。
- htmlタグより簡単に書ける。
- 表とか数式も表示できる。
- プラットホームを選ばない。
という感じでしょうか。 とっても簡単です。くわしくはこのあたりを。Markdown記法 チートシート
Markdown Here
追加したアプリは、 Markdown Here というChrome拡張機能です。 safariやfirefoxでも動作するみたいです。
アプリを追加したら、EvernoteにMarkdownで書き込んで....
ショートカットキーで「Ctrl」+「alt」+「m」と打つと、一発でMarkdownに変換されます。かっちょいー!!
ちなみにHTMLタグも変換してくれるので、HTMLに慣れてて、Markdown覚えるのめんどくさいという方にもオススメです。
D3.jsでカタカタ動くやつ
コードの説明あとで書く