bash - Bash:如何替换字符串中的文字 a \r\n?
问题描述
我正在尝试用文字替换\r\n
文字\n
tr
STR="**Line1**\r\nLine2"
echo $STR
echo $STR | tr '\r\n' '\n'
我希望
**Line1**\r\nLine2
**Line1**\nLine2
但相反我得到
**Line1**\r\nLine2
**Line1**\r\nLine2
我哪里错了?
解决方案
tr
从标准输入替换为标准输出。要替换变量 bash 参数扩展,可以改为使用
STR=${STR//\\r\\n/\\n}
echo "$STR"
如果字符串可以包含制表符空格或换行符,则在用作参数时也不要忘记双引号。
否则,如果问题与tr
. 反斜杠是转义字符,必须转义,但tr
它是字符直译器,不适合替换字符串。
推荐阅读
- npm - npm run dev 无法识别新的 sass 分区格式
- html - 需要用 Hooks 在 reactjs 中做 3D 轮播
- python - pandas 中的逻辑应用功能不如预期
- c# - Json 灭菌不适用于具有 TypeConverter 属性的复杂对象
- java - Spring Boot JasperReport compileReport 失败
- flutter - 当我尝试清理流时,在 null 上调用了方法“map”
- python - 如何在eclipse中引用Python气流包?
- transform - NiFi Jolt 将字符串列表转换为 Map
- php - 发送查看 Laravel 8 的路由
- xcode12.5 - 为什么 Xcode 12.5 `xcodebuild -archive` 抱怨没有 AppClip 的应用程序中缺少 appclip 权利?