gpt4 book ai didi

ruby - 使用 Ruby gsub 转义 linux 路径名中的空格

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:55 24 4
gpt4 key购买 nike

我正在尝试转义 Linux 路径中的空格。但是,每当我尝试转义我的反斜杠时,我都会得到一个双斜杠。

示例路径:

/mnt/drive/site/usa/1201 East/1201 East Invoice.pdf

所以我可以在 Linux 中使用它,我想将它转义为:

/mnt/drive/site/usa/1201\ East/1201\ East\ Invoice.pdf

所以我正在尝试:

backup_item.gsub("\s", "\\\s")

但是我得到了意想不到的输出

/mnt/drive/site/usa/1201\\ East/1201\\ East\\ Invoice.pdf

最佳答案

Stefan 是对的;我只想指出,如果你必须转义字符串以供 shell 使用,你应该检查 Shellwords::shellescape :

require 'shellwords'

puts Shellwords.shellescape "/mnt/drive/site/usa/1201 East/1201 East Invoice.pdf"
# prints /mnt/drive/site/usa/1201\ East/1201\ East\ Invoice.pdf

# or

puts "/mnt/drive/site/usa/1201 East/1201 East Invoice.pdf".shellescape
# prints /mnt/drive/site/usa/1201\ East/1201\ East\ Invoice.pdf

# or (as reported by @hagello)
puts shellwords.escape "/mnt/drive/site/usa/1201 East/1201 East Invoice.pdf"
# prints /mnt/drive/site/usa/1201\ East/1201\ East\ Invoice.pdf

关于ruby - 使用 Ruby gsub 转义 linux 路径名中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19355597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com