Dan*_*scu 3 wine shell-script regular-expression
我有一个 Windows diff 工具,它比我找到的任何 Linux diff 工具都要好(我已经对可视化 diff 工具做了一些相当广泛的分析)。我想在 Linux 上使用该工具(通过 Wine)并且能够将 Linux 文件路径传递给它,部分原因是像 Double Commander 这样的双窗格文件管理器在调用 diff 工具时会自动传递完整的文件路径。
所以我问这个问题的反面:如何将 Linux 样式的文件路径(包括空格等转义字符)转换为通过 Wine 运行的 Windows 工具可接受的 Windows 样式文件路径?
举个简单的例子,
输入:
/path/to/file1.ext /path/to/file2.ext
输出
"\path\to\file1.ext" "\path\to\file2.ext"
当然,在现实世界中,文件可以有空格等等,所以我正在寻找一种比bash
我目前所拥有的替代更可靠的解决方案:
#!/bin/bash
p1=$1
p2=$2
wine /utils/wincmp.exe ${p1//\//\\} ${p2//\//\\}
Run Code Online (Sandbox Code Playgroud)
您的脚本实际上非常接近。您所需要的只是winepath
作为 WINE 一部分的工具来进行转换:
#!/bin/sh exec wine /utils/wincmp.exe "`winepath --windows \"$1\"`" "`winepath --windows \"$2\"`"
#!/command/execlineb -S2 反引号 -i left { winepath --windows $1 } 反引号 -i right { winepath --windows $2 } 多替换{ 进口左左 进口权 } 葡萄酒 /utils/wincmp.exe ${left} ${right}