私は私が見つけたLinux diffツールよりも優れたWindows diffツールを持っています(そして私はそれでいくつかの素晴らしい仕事をしました)。視覚差異ツールの広範な分析)。私はこのツールをLinux(Wine経由)で使用し、Linuxファイルパスを渡すことを望んでいます。これは、Double Commanderなどのデュアルウィンドウファイルマネージャがdiffツールを呼び出すときにファイルパス全体を自動的に渡すためです。
だから反対に尋ねます。この問題:Linuxスタイルのファイルパス(エスケープ文字(スペースなど)をWindowsスタイルのファイルパス(Wine経由で実行されているWindowsツールで許可されています)に変換するには?
簡単な例を挙げると、
入力する:
/パス/to/file1.ext /パス/to/file2.ext
出力
“\path\to\file1.ext” “\path\to\file2.ext”
bash
もちろん、現実の世界ではファイルにスペースなどがある可能性があるため、これまでの選択肢よりも信頼性の高いソリューションを探しています。
#!/bin/bash
p1=$1
p2=$2
wine /utils/wincmp.exe ${p1//\//\\} ${p2//\//\\}
ベストアンサー1
あなたのスクリプトは実際に非常に近いです。winepath
変換のためにWINEの一部として提供されるツールだけが必要です。
#!/bin/sh exec wine /utils/wincmp.exe "`winepath --windows \"$1\"`" "`winepath --windows \"$2\"`"
または使用ローランベルコexecline
:
/コマンド/execlineb -S2 バックティック -i 左 { winepath --windows $1 } バックティック -i 右 { winepath --windows $2 } 複数の代替{ 重要なこと 重要なのは正しいことです } ワイン /utils/wincmp.exe ${左} ${右}