为本地文件或目录生成 file:// URL

为本地文件或目录生成 file:// URL

我有一个本地目录,想要共享一个可点击的链接,该链接将打开用户的默认文件浏览器。

file://如何为给定的本地文件名生成协议的 URL ?

some_program /foo/bar    # file:///foo/bar
some_program "/föö bar"    # file:///f%C3%B6%C3%B6%20bar
some_program "$( realpath . )"    # link to local directory

我发现了一些利用简单替换命令进行反向操作的提示,对于sed包含非字母数字字符(例如空格)的文件名,该操作会失败。

答案1

Perl 模块URI::file支持这一点:

$ perl -MURI::file -E'say URI::file->new($_) for @ARGV' /foo/bar
file:///foo/bar

相关内容