我想将文件从远程机器复制到我的本地机器上,直到包含特定模式的第一行。
场景:使用远程 Bash 配置文件的一部分更新我的本地 Bash 配置文件,直到我的管理员验证它为止。
有没有比这个快速的“shell 脚本”破解更好的方法(我想可能有!)?
ssh tinosino@robottinosino-wifi cat /Users/tinosino/.profile | sed '/Verify this script further than this point/,$ d' > /home/tinosino/Desktop/tinosino_bash_profile.sh
- 远程机器:robottinosino-wifi (OSX)
- 哨兵线:验证此脚本比此点更远
我可以使用基本的 shell 脚本,最好是在 Bash 中,因为它是默认的,或者是最常见的 diff/source-control bins..
你猜对了,这个想法最终是自动化这个过程。克朗?关于你将如何做到这一点的任何想法?我的 Bash 配置文件的开始应该来自服务器,“其余部分”是我可以自由定制的。
我的上一个失败的尝试:
- 使用
head
- 使用过程替代
<( ... )
- 使用
grep
- 使用本地命名管道(这很有趣:命名管道需要一个程序来生成它的文本,执行类似于上面的 cat->sed 行)
重要提示:远程系统最好不要遍历整个文件,而是在“看到”哨兵行时截断过滤器。如果模式在第 300 行,即 1,000,000,000 行。 300 行。