shell - sed s 命令只有一个斜杠“/”
问题描述
echo "en_Us" | sed "s._./." # returning en/Us
我最近遇到了一个像上面这样的 sed 命令,我不是 100% 确定为什么,根据“man sed”,s 命令通常是这样的
sed "s/regex/regex"
替换匹配的正则表达式,在这种情况下,它只有一个斜杠,这是什么意思?
解决方案
echo "en_Us" | sed "s._./."
几乎等于echo "en_Us" | sed "s#_#/#"
这意味着它是第一次出现“”之前的单词并用“/”代替。如果要替换所有“ ”,请使用“g”(组)作为echo "en_Us" | sed "s._./.g"
推荐阅读
- asp.net - 如何在字符串变量中缩进 JSON?
- video - FFmpeg 问题:编码/规范化然后连接多个视频
- jenkins - 如何在 Build Triggers 中配置服务器 → Job DSL 创建的作业中的 Gerrit 事件
- node.js - gitlab ci 不能在脚本中使用变量
- java - C++ 像 Java 中的 Map?
- django - 当 ModelForm.save 完成运行时,Django 保存覆盖用户失败
- ios - 我使用 CFNotificationCenter 将消息从主机应用程序发送到 widgetExtension,但发现它没有用
- javascript - 如何处理开玩笑的抛出异常
- mysql - Percona Server5.6 Master-maser replication 一些网络错误
- slick.js - 在反应光滑的图像中显示箭头和点