Windows の書式で書かれているパスを Linux, OS X (≒ *nix) っぽいパスに変えるワンライナー。
自分は SMB のファイルサーバのパスを Unix 上でマウントしてアクセスするのに使っている。
手軽だけど危険な方法
tr コマンドを使う。
$ tr \\ / <<< '\\fooserver\bar\buzz'
//fooserver/bar/buzz
$
この方法は自分の知る限り最も手軽。
しかし、 このページ にある通り、
ファイルシステムによって使用可能なファイル名のルールとエスケープの方法は異なるので、
置換後に意図していないリソースを指してしまう可能性がある。
でも、たいていのファイル名では問題ないので、覚えて損はない。
それなりに信頼できる方法
Python 3 の pathlib を使った例。
$ python3 -c 'import pathlib;print(pathlib.PureWindowsPath(input()).as_posix())' <<< '\\fooserver\bar\buzz'
//fooserver/bar/buzz
$
ただし、 Python 3.4 以降もしくは pathlib パッケージがインストール済みでなければならないので、
手軽ではないかもしれない。
エイリアス
なので、それぞれシェルのエイリアスは次のようになる。
alias path_wintounix="tr \\ /"
alias path_wintounix="python3 -c 'import pathlib;print(pathlib.PureWindowsPath(input()).as_posix())'"
$ path_wintounix <<< '\\fooserver\bar\buzz'
//fooserver/bar/buzz
$
余談
Windows は / 区切りのパスも開けるので、逆の変換はあまり問題になることはなさそう。
alias path_unixtowin="tr / \\"