bash - 在变量中替换换行符并在 bash 中改回
问题描述
我想用字符替换所有新行,>
然后再次替换。
INPUT=..a lot of stuff
INPUT_ARROW=${INPUT/\\n\>}
INPUT_ORIGINAL=${INPUT/>\\\n}
这是相当混乱的语法。
解决方案
您可以使用$'\n'
来表示换行符:
echo "$s"
abc
123
foo
bar
p="${s//$'\n'/>}"
echo "$p"
abc>123>foo>bar
现在将其更改回换行符:
echo "${p//>/$'\n'}"
abc
123
foo
bar
推荐阅读
- postgresql - 使用最早日期提取最早记录并过滤其他值
- pytorch - Torch.dist 集体通信结果错误
- python - 如何以与在多个 GPU 上运行的多个衍生进程以及每个 GPU 处理的批量数据的输入相同的顺序获得输出?
- python - 如何将 URL 值从模板传递到 Django 中基于类的视图中的 form_valid 方法
- php - 动态调用html复选框对应的函数
- node.js - 是否可以将gridjs结果定向到控制台
- r - R将向量拆分为重叠的子向量并连接第一个和最后一个元素
- powershell - 发送电子邮件 Poweshell
- php - 我想知道一个 php 7.4 在登录脚本上给我带来了麻烦
- python - Jupyter dash 冻结并且不更新绘图