40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

特定のディレクトリ配下のシンボリックリンクの一覧を取得する

タイトルそのままですが、やっつけ仕事的に書いてみた。

# symlink_tool.rb
path = []
if ARGV[0].nil?
  exit!
else
  base_directory = ARGV[0]
end
Dir::glob(base_directory + "*",File::FNM_DOTMATCH).each{|f|
  source = File.expand_path(f)
  if(File.symlink?(source))
    path.push([source,File.readlink(source)])
  end
}
puts path

上記をsymlink_tool.rbとして保存しておき、ターミナルから以下のように実行したら欲しい情報が得られた。

$ruby ./symlink_tool.rb ~/

/Users/xxxxxxxx/.bash_profile
/Users/xxxxxxxx/Dropbox/dotfiles/bash_profile # シンボリックリンクのリンク先
/Users/xxxxxxxx/.bashrc
/Users/xxxxxxxx/Dropbox/dotfiles/bashrc # シンボリックリンクのリンク先
/Users/xxxxxxxx/.emacs.d
/Users/xxxxxxxx/Dropbox/emacs_d/ # シンボリックリンクのリンク先