さわだのノート

書籍のお仕事に役立つかもしれない思いつきを記録しています。

RSS: 記事の更新情報 Rss Feed

2012-04-01から1ヶ月間の記事一覧

MacでHomebrewを利用してGitをインストールするまで

HomebrewはMac OS X向けのパッケージ管理システムです。パッケージ管理システムというのは、ソフトウェアのインストール/アンインストールを簡単に行うための仕組みらしいです。Mac用のパッケージ管理システムには「MacPorts」というのもあるらしいですが、…

再帰呼び出しでN回連続した行を抽出する

行単位で文字列を比較し、N回連続した行を抽出するPerlのスクリプトを書いてみました。 練習がてら、あまり得意ではない再帰呼び出しを使っています。 #!/usr/bin/env perl use 5.12.3; use warnings; use utf8; use open IO => qw/:utf8 :std/; use Attribu…

Perlでコマンド置換を使ってみよう

bashやzshでは皆さんよく使っているであろうコマンド置換。 $ mv `ls | grep .txt | grep blog` Downloads/ みたいな感じで、バッククオートで囲んだところを実行して、コマンドの実行結果に置き換えてくれます。このコマンド置換、実はPerlでも使えるみたい…

Vimの補完機能について復習する

vim

CTRL-X CTRL-NとCTRL-X CTRL-Pくらいしか使っていなかったので復習。 意外とたくさんあるので驚きました。 補完機能 キーマップ 1. 行全体 CTRL-X CTRL-L 2. 現在のファイルのキーワード CTRL-X CTRL-N 3. 'dictionary'のキーワード CTRL-X CTRL-K 4. 'thesa…

NeoBundleでVimのプラグインを管理する

vim

もうすでにいろんなところで書かれているけど、一応自分用のメモとして記録しておきます。 下記手順はMac OS Xの場合です。 NeoBundleをダウンロードする NeoBundleをgithubからダウンロードします。 ターミナルを起動して、下記コマンドを入力。 $ cd ~/.vi…

Perlで日付計算する

Calendarモジュールを使うと、月またぎの日にちの引き算や、足し算で日にちを求めることができます。商品の発売日を取得して、今日から30以内に発売されていれば新商品と判定、なんて処理も簡単です。 #!/usr/bin/perl use strict; use warnings; use featur…

Perlで配列の重複要素を削除する&変数内のメタ文字無効化について

配列の重複要素を削除する方法は、ハッシュのキーに代入する方法が一般的みたいですが、それだと要素の順番がばらばらになってしまいます。 grepを使うとこんな感じでも重複要素の削除ができることに気づきました。 #!/usr/bin/perl use strict; use warning…

料理下手におすすめしたい皮むき器。

今日初めて知ったのですが、皮むき器って実は2種類あるらしいです。家庭科の授業とか家でよく見かけるのは、T型ピーラー(ピューラーだと思ってた)というようです。 貝印 SELECT 100 T型ピーラー DH-3000出版社/メーカー: 貝印メディア: ホーム&キッチン購…

Perlで非同期処理を行う

書籍を作るときに、Webページのスクレイピングしたりアイコン画像をダウンロードしたりといった感じでPerlスクリプトを使うことがしばしばあります。Perlを使う前は一つ一つコピペしていたのですから、大きな進化です。ただ、取得するデータの件数が多くなる…

CSVファイルの重複を削除する

CSVファイルやExcelのファイルを編集しているとき、特定の列の要素が重複している行を取り除きたくなることがあります。例が微妙ですが、下記のような名前の一覧があったとします。 スティーブ,ジョブズ ビル,ゲイツ スティーブ,ウォズニアック スティーブ,…

カウンタ変数を使ったforループについて

同じ要素数を持った2つのリストを順々に処理したいときなどに使う、カウンタ変数付きのforループ。今までこんな感じで書いていました。 my @list1 = 1..100; my @list2 = 101..200; for (my $i = 0; $i < scalar @list1; $i++) { say "$list1[$i] + 100 => $…