熟成された~/.ssh/configを分割するヤツ

Includeキーワードでssh_configを分割できるようになった件 – Qiita らしいので、早速分割するテスト。

環境

macOS
pecrgrep を入れれば他OSでもいけるはず

準備

brew install pcre

分割

cat ~/.ssh/config | egrep "^Host .+"$ | while read -r line; do
    hostname=$(echo $line | awk -F' ' '{print $NF}')
    cat ~/.ssh/config | pcregrep -M "$line\n[\s\S]+?\n\n" | tee ~/.ssh/conf.d/$hostname.conf
done