Mac OSでファイルのフルパスをコマンドラインからコピー

クリップボードにファイルのフルパスをコピーしたいことがよくある。svnなんかでファイルをディレクトリ深く掘って管理している時に、そのファイルをウェブにアップロードする場合とか。そういう時のために、コマンドラインからクリップボードにフルパスをコピーするコマンドを作った。

まず、以下のスクリプトをパスの通ったディレクトリに置く。

#!/usr/bin/ruby
require 'pathname'

if ARGV.size == 0
  file = '.'
else
  file = ARGV[0]
end

begin
  `echo #{Pathname.new(file).realpath} | pbcopy`
  puts "#{Pathname.new(file).realpath} is copied to clipboard."
rescue
  puts "#{file} is not found."
end

そして、以下のaliasを作る。

alias ccp='ccp.rb $1'

これにより、単にccpでカレントディレクトリが、ccp filenameでファイル名のフルパスがコピーできる。地味に便利。