sedで特定のワードの始まりと終わりまでを表示する

alkoshikawa 15views 更新:2015年6月8日

プロパティファイルのようにグループ分けがあればよかったのですが、
それを許されない設定ファイルにおいてそれでもグループ化する必要があるときに使います。

.ssh/configとかの設定ファイルをこんなようにグループ化しておきます。

# group1-start

Host host1
  HostName xxx.xxx.xxx.xxx
  Port 22
  User user1
  IdentityFile /path/to/key

Host host2
  HostName xxx.xxx.xxx.xxx
  Port 22
  User user2
  IdentityFile /path/to/key

# group1-end
# group2-start

Host host3
  HostName xxx.xxx.xxx.xxx
  Port 22
  User user3
  IdentityFile /path/to/key

group1の内容だけとってくるには

sed -n -e '/group1-start/,/group1-end/p' /path/to/file 

とやります。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません