MIRACLE
メールサービス申込 ユーザー登録 パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

プロフィール

日本発のリナックス企業、ミラクル・リナックスで奮闘する社員のブログです。

ミラクル関連リンク

採用情報

サイト検索

2008年10月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

« ボンジョルノ Capistrano! | メイン | vim で英語のスペルチェック »

ldifをいじる

4月に入ったらなんかローテが変わってて順番回ってきてんの。。。anaitoです。

タイトルの通り、LDAPといえばldifですねぇ。

空行から空行までの間で1エントリというデータのため、加工するにはシェルスクリプトでちょこっと書いてというのはちと面倒です。であれば、ライブラリが用意されているスクリプト言語を使うってのも手ですが大げさすぎ?って感じもあります。

そんななので最近はrubyを使っています。ま、他の言語での楽な書き方知らないだけですが。。。例えば、各エントリにuidを元にしたmail属性を追加するにはこんなスクリプトを通します。(もちろん、ObjectClassは適正なことが条件ですが)

#!/usr/bin/env ruby
ARGF.each("\n\n") do |line|
  if line =~ /^dn: uid=(.*),ou=users/i
    uid = "#{$1}"
    if line !~ /mail:/
      print "#{line.chomp}mail: #{uid}@example.com\n\n"
    else
      print line
    end
  else
    print line
  end
end

ミソは"\n\n"で区切ってイテレータで回すところですね。う~ん、楽ちん♪

後は中身をやりたい処理に変更すればOKです。あとは出力をldapmodify向けのファイルを生成するのもありですね。

トラックバック

このページのトラックバックURL:
http://www.typepad.jp/t/trackback/4447/6891353

このページへのトラックバック一覧 ldifをいじる:

コメント

コメントを投稿

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.