【问题标题】:change windows filenames to bash filenames将 windows 文件名更改为 bash 文件名
【发布时间】:2014-07-23 18:34:34
【问题描述】:

我在 Windows 上使用 gitbash 作为我的主控制台。通常我想从资源管理器中复制文件名并将其用于 git 命令,这通常不起作用,因为 git 有时需要 /c/directory/directory/filename 形式的文件名,而不是 c:\directory\directory\filename。

我通常必须手动编辑文件名/路径以使其格式正确,如果文件的目录很深,这很烦人。

我写了一个 sed 命令来修改字符串为正确的格式:

sed 's:\\:/:g' | sed 's:\(.\)::/\1:g'

有没有办法让我把它变成一个函数或其他东西,这样我就可以做类似...

git add convert("c:\blah\blah\myfile.txt")

实际运行的是

git add /c/blah/blah/myfile.txt

【问题讨论】:

标签: git bash mingw32


【解决方案1】:

一种方式:

function git_add {
    git add "$(exec sed 's|\\|/|g; s|\(.\):|/\1|g' <<< "$1")"
}

然后做:

git_add "c:\blah\blah\myfile.txt"

另一种方式:

function convert {
    sed 's|\\|/|g; s|\(.\):|/\1|g' <<< "$1"
}

git add "$(convert "c:\blah\blah\myfile.txt")"

【讨论】:

  • 我想在命令行上做所有事情,而不仅仅是 git,所以想要一些更通用的东西
【解决方案2】:

cygpath 在 gitbash 发行版中,所以我使用 cygpath -u "c:\foo.xml"

我目前在 Win10 上运行 gitbash 2.31.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    相关资源
    最近更新 更多