sed - sed 如何替换 "\"(反斜杠 + 空格)?

标签 sed substitution

在 bash 脚本中,带有空格的文件显示为 "File\ with\ spaces.txt"我想用 _ 替换那些斜线空格或 + .

我怎么能告诉 sed 这样做?我没有成功使用;

$1=~/File\ with\ spaces.txt
ext=$1
web=$(echo "$ext" | sed 's/\ /+/')

如果有比通过 sed 更好的方法,我愿意接受建议。

[编辑]:Foo Bah 的解决方案效果很好,但它只替换了第一个空格,因为它后面的文本被视为参数而不是 $1 的一部分。有什么办法解决这个问题吗?

最佳答案

sed 's/\\\\ /+/';
\\\\计算结果为 \\在 shell 级别,然后变成文字 \ sed 内。

关于sed - sed 如何替换 "\"(反斜杠 + 空格)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7394123/

相关文章:

regex - 基本正则表达式问题 : How to modify only the lines starting with a STRING with sed

Bash:处理日志文件输出的格式

linux - 每月获取第一个和最后一个文件

c - C 中的变量替换

regex - Perl - 变量插值和反冲(转义)如何在替换正则表达式中工作,特别是替换部分

linux - sed:在结果中获得两个额外的字符

sql - Excel 在单元格值中转义引号或撇号

字符串变量未在多行字符串中替换

python - 用 python 正则表达式从旧字符串计算出的新字符串替换子字符串

linux - 如何使用 sed 替换匹配列表