特定のパターンを含む最初の行まで、リモートマシンからローカルマシンにファイルをコピーしたいと思います。
シナリオ:管理者が確認するまで、ローカルのBashプロファイルをリモートのBashプロファイルの一部で更新します。
この簡単な「シェルスクリプト」ハックよりも良い方法はありますか(おそらくあると思います!)?
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)
- センチネルライン:このスクリプトをこのポイントよりもさらに検証します
基本的なシェルスクリプトを使用できます。デフォルトであるBash、または最も一般的なdiff /source-controlbinを使用できます。
アイデアは、あなたが推測するように、最終的にこのプロセスを自動化することです。cron?これをどのように行うかについて何か考えはありますか?私のBashプロファイルの開始はサーバーから来るはずです、「残り」は私がカスタマイズするために自由です。
私の前の失敗した試み:
- を使用して
head
- プロセス置換を使用する
<( ... )
- を使用して
grep
- ローカルの名前付きパイプを使用する(これは楽しかったです。名前付きパイプには、テキストを生成するプログラムが必要ですが、上記のcat-> sed行のようなものを実行します)
重要な注意:リモートシステムがファイル全体を調べないで、センチネル行を「認識」したらフィルターを切り捨てることが非常に望ましいです。パターンが1,000,000,000の行#300にある場合は、単に確認してください。 300行。