php - 麻烦使用 sed 查找双引号内的所有字符串

标签 php linux ssh sed command-line-interface

所以我有这段代码,我在 .php 网页中使用发布主机名、用户名和密码。然后我可以通过 SSH 连接到我的远程 Pi,并更改 textfile.txt 的文本。我现在需要的是能够将结果显示到我的确认网页中。我无法理解 sed 是否适合使用,但这是我目前所知道的。

这是我正在使用的 testfile.txt 示例:

Pi1主机名 = "Tester1"

Pi1Username = "示例用户名"

Pi1Password = "示例密码"

这是将新字符串输入主机名的工作脚本:

    $ssh1->exec('sed -i \'/Pi1Hostname /s/".*."/"'. $hostnameNew .'\"/\' testfile.txt');

这是我目前尝试用来调用 pi1Hostname 结果的结果:

echo '<p>Company:' . $ssh1->exec('sed -i /Pi1Hostname /\".*.\"/ testfile.txt') .'</p>';

这是我收到的错误消息:

sed: -e expression #1, char 12: unterminated address regex

如果有人对此问题有任何意见,我将不胜感激。这是我需要弄清楚才能为我的网页获取其他 19 行输入的一件事。

最佳答案

看了之后,我找到了我想要的答案:

cat testfile.txt | grep -oP 'Pi1Hostname = "\K[^"]+

关于php - 麻烦使用 sed 查找双引号内的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47763636/

相关文章:

PHP 到 CSV - 将一行分成多行

php - jquery 自动完成不适用于 JSON 数据

linux - sched_setscheduler()/sched_getscheduler() 是否只影响指定进程及其子进程的调度策略?

linux - linode vs amazon ec2 vs heroku for project with amazon s3

ssh - gitlab中的克隆/拉取/推送与ssh问题(创建http客户端时出错: cannot find cafile '' : cafile not found)

linux - ssh + ssh 卡在远程计算机上

javascript - 单击 javascript 和 php 中的选项卡菜单时清除或重置复选框

php - OutletORM 和 phpDataMapper

linux - sqlplus:加载共享库时出错:libsqlplus.so:无法打开共享对象文件:没有这样的文件或目录

linux - 输入 SSH 命令不会换行