同じ行の繰り返しが気になる
コマンドライン・シェル「NYAOS」のログなど、重複する行が いくつもあるファイルは、ものすご~~~く気になります。
いままでは、「そ~太」というツールを使っていました。ところが、「行を並べ替えてから、前後で同じ行を削除する」という仕様です。
名前のとおりで正しい。でも、モヤモヤが残る──。
もっと、こう、ドラッグ──────アンド・ドロップ的な手軽さで、気持ちよくスッキリしたいピー!(ピー?)
『ULTIMATE Perl』に答えあり
山ほどある「買ったけれど理解できなかったプログラミング本」を、なんとなく読み返してみる──。すると、水野 貴明氏の『ULTIMATE Perl』に、そのものずばりの答えが載っていました!
Yahoo! ショッピング: 水野 貴明 ULTIMATE Perl
Reviewer: あじもす @asiamoth,
Array Unique
収録されているコードは、「Perl メモ」からの出典でした。全 Perl プログラマ必読のサイトですよね! 「何年前に終わっている話だよ!」と幻聴が聞こえてくる。
コピー・アンド・ペーストでも良いけれど、勉強をかねて自分なりの味付けをしたコードが、こちらになります(料理がヘタな人間ほど、勝手にレシピを変えるよね)。
クリップボードにコピーした文字列から重複した行だけを削除する! — Gist
使い方は簡単で、ただ実行するだけ!
くどい書き方(単純な split に m, s, x オプション)をしているのは、「Perl::Critic」で怒られないようにするためです。
map を使う方法
id:fbis さんが同じ話題で記事を書かれていました。
Hashを使って配列をユニークにしよう! – Unknown::Programming
ここで紹介されている「List::MoreUtils」(バージョン 0.22)のコードが渋い。 map でも できるのか!
ただ、そのあとのバージョンを追っていくと、新旧どちらも問題があるようです。「なにが問題か」を学ぶチャンスですね!
List::MoreUtilsのuniq関数の実装が変わってた件 – Unknown::Programming
おわりに
昨日・今日の記事みたいに、「クリップボードの中身を書き替える」スクリプト(の断片)をいくつか作りました。
YouTube の「埋め込みコード」を Valid にする! HTML5 時代編 | 亜細亜ノ蛾
ただ、あまりにも「オレ(だけ)得」なツールばかりなので、なかなか公開しにくい。なるべくアウトプットしていきます。