Linux 用于创建文件的Unix命令:///URI基于文件';s目录(pwd)
我想在Unix命令行仿真器中编写一个文件路径作为URI 期望输出:Linux 用于创建文件的Unix命令:///URI基于文件';s目录(pwd),linux,git,unix,command-line,cygwin,Linux,Git,Unix,Command Line,Cygwin,我想在Unix命令行仿真器中编写一个文件路径作为URI 期望输出: file:///C|/directory/filename.ext 使用sed和pwd,我可以接近但不太接近,因为 $ pwd /c/directory/ …给我一个较低的驱动,没有管道 有更好的方法吗?您可以使用sed;它有一个y命令来执行大小写转换,尽管它有点复杂,因为您需要通过保持空间和模式空间。使用Perl会更容易——它可能有一个或多个模块来实现这一点(如and),尽管可以使用正则表达式生成一个简单的版本 #!/us
file:///C|/directory/filename.ext
使用sed和pwd,我可以接近但不太接近,因为
$ pwd
/c/directory/
…给我一个较低的驱动,没有管道
有更好的方法吗?您可以使用
sed
;它有一个y
命令来执行大小写转换,尽管它有点复杂,因为您需要通过保持空间和模式空间。使用Perl会更容易——它可能有一个或多个模块来实现这一点(如and),尽管可以使用正则表达式生成一个简单的版本
#!/usr/bin/env perl
use strict;
use warnings;
foreach my $name (@ARGV)
{
if ($name =~ m%^/([a-zA-Z])(/.+)%)
{
printf "file:///%c|%s\n", uc($1), $2;
}
else
{
print STDERR "$0: unexpected name format - no /x/ drive letter prefix ($name)\n";
}
}
(未经测试的代码。)