ターミナルでWindowsやMacのファイルサーバーのパスへ相互置換方法

WindowsやMacのパスを置換したい

ファイルサーバーのパスはWindowsとMacでは形式が異なるため、WindowsのパスでMacのファイルサーバーにアクセスすることはできない。

下記の通りWindowだとバックスラッシュになっており、Macだと冒頭がsmb:ではじまるスラッシュである。

\\FS\CA\file\
smb://FS/CA/file/

そのためWindowsのパスでもバックスラッシュをスラッシュに置換して冒頭にsmb:を付ければMacでも使用できる。

ただし、手作業で一つずつ直すのはかなり面倒である。

ターミナルでパスを置換する方法

手作業で直すのはかなり面倒だがターミナルでパスを置換してクリップボードに保存すれば簡単に置換したパスを利用できる。

やり方はまず $ vi ~/.bashrc で.bashrcファイルを開いて下記のパスを保存する。

alias cw='read -rp "Windowsのパスを入力してMacに変換: " p && echo $p | sed 's#\\\\\\\\#/#g' | sed 's#//#smb://#g' | pbcopy && pbpaste'
alias cm='read -rp "Macのパスを入力してWindowsに変換: " p && echo $p | sed 's#\/#\\\\\\\\#g' | sed 's#smb:##g' | pbcopy && pbpaste'

保存したら $ source ~/.bashrc で読み込めばターミナルでcwと入力すると"Windowsのパスを入力してMacに変換: "と表示されるので「\\FS\CA\file\」のようなパスを入力してenterを押せば「smb://FS/CA/file/」と置換されてクリップボードに保存される。
ターミナルでWindowsやMacのファイルサーバーのパスへ相互置換方法

逆はcmを入力して"Macのパスを入力してWindowsに変換: "を使用する。

Automatorで右クリックから置換

Automatorを使用すればテキストを選択して右クリックから置換してクリップボードに保存&ペーストができる。

ただし、これができるのはSafariやApple純正のメモなどのアプリケーションに限られる。

やり方はAutomatorの新規作成でクイックアクションを選択してクリップボードにコピー+シェルスクリプトを実行を組み合わせるだけだ。(コードは下記のようになる)

sed 's#\\#/#g' | sed 's#^//#smb://#g' | pbcopy && pbpaste

Automatorの新規作成でクイックアクションを選択してクリップボードにコピー+シェルスクリプトを実行を組み合わせる