linux - 如何就地编辑 curl 输出?
问题描述
我正在为 bash 脚本卷曲命令以在我的 linux 系统上运行安装,然后将其通过管道传输到 bash 控制台。
curl -G website/bashscript.sh | sudo bash
但是我从 curl 收到的命令添加了一个
echo "Rebooting"
reboot
在最后。
这个 curl 和 sudo 命令在我自己编写的 bash 脚本中,用于自动化安装过程。
如何从此文本中删除 echo 和 reboot 命令并将其通过管道传输到 bash?我宁愿不将其保存到文件中,对其进行编辑,然后将其传递给 bash,因为我真的不想在之后删除文本文件。
谢谢!
解决方案
删除最后一行,如果是单词reboot
:
sed '${/^reboot$/d}'
sed语法:选择最后$
一行。{
开始一个块。/^reboot$/
选择仅包含单词的行reboot
(^
匹配开头并$
匹配行尾)。d
在匹配的情况下删除该行。}
关闭块。
删除最后一行,如果是短语echo "Rebooting"
:
sed '${/^echo "Rebooting"$/d}'
全部一起:
curl -G website/bashscript.sh |
sed '${/^reboot$/d}' |
sed '${/^echo "Rebooting"$/d}' |
sudo bash
推荐阅读
- javascript - 我的机器人找不到目录,即使它确实存在 discordjs
- slack-api - 已删除的预定消息仍在发送
- javascript - 比较 JSON 数组 nodeJS 中的单个对象
- python - 将 JustPy 部署到 Heroku
- javascript - 使用对象查找处理行时文件读取流的事件处理程序中的内存泄漏
- reactjs - 我正在尝试显示来自 TMDB API 的图像,但我的代码不起作用
- javascript - React JS 将日期从 yyyy-mm-dd 转换为 dd-mm-yyyy
- kotlin - 如何细化返回类型的泛型参数?
- reactjs - 使用react-player时如何在视频播放1分钟时显示一个按钮?
- node.js - nodejs / mongoDb:在一个请求中更新许多字段