LoginSignup
1
1

More than 5 years have passed since last update.

FinderでファイルをコピーしてからTerminalにペーストすると絶対パスがペーストされる

Last updated at Posted at 2015-02-14

タイトルで完結してるんですが、補足などを。

Finderからファイルの絶対パスを取得したかった

探したらこんなのが見つかりました。

で、CNETの方の記事でFinderからTerminalにドラッグアンドドロップで絶対パスを取得できる、って書いてあったので、普通にコピペしたらどうなるのか?と思ってやってみたら期待通り動いたのでした。

ペーストした時の絶対パスの形式について

シェルの入力としてエスケープされた状態でコピペされます。

つまり例えば以下の様なファイルがあった時

$ ls '/Users/takc923/hoge fuga ? #'
/Users/takc923/hoge fuga ? #

Finderでコピーしてターミナルにペーストするとこうなります

$ /Users/takc923/hoge\ fuga\ \?\ \#

空白等がエスケープされます。これはペーストするときシングルクォーテーションで囲った場所へペーストしたとしても同様です。

$ '/Users/takc923/hoge\ fuga\ \?\ \#'

ちなみにzshで以下の設定をしてあると、URLを自動でエスケープしてくれるんですが、ファインダでコピー&ペーストした時のエスケープも似たような仕組みかな?と思ったので上記のような検証しました。

autoload -U url-quote-magic
zle -N self-insert url-quote-magic

エスケープされてない絶対パスが欲しい場合

  • ファイルを右クリック→情報を見る→「一般情報」の「場所」と、「名前と拡張子」をそれぞれコピーして組み合わせる
  • shift+command+gで絶対パス指定でディレクトリ移動するフォームを呼び出して、そのフォームに目当てのファイルをドラッグアンドドロップ
  • Automatorでサービスを作る

あたりの方法があるようです。詳細は参考URLのページ参照。
個人的には絶対パスが必要なのってターミナルで何かしらしたい時なので、エスケープされてない絶対パスが必要なことがあんまりないです。

その他補足

  • 動作はOSX10.9.5のFinder, Terminal, iTerm2, zsh, bashで確認してます。

参考URL(再掲)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1