Procura por string e lê a próxima linha

1

Eu preciso escrever um programa shell que instale alguns pacotes. O programa será executado no Linux (obviamente, alguns comandos não funcionarão, por exemplo, em distros baseadas em Arch).

Então, eu tenho esse arquivo chamado config.conf com a seguinte estrutura:

#EMAIL
email address here
#TWITTER
twitter account
#FORUM
a bunch of 'http://foru.ms'
#FACEBOOK

#REDDIT
reddit username

O programa initial_install.sh deve procurar as linhas que começam com um hash e, se a linha subsequente não estiver vazia, instale o pacote necessário para essa categoria. Por exemplo, ele procura #TWITTER e, somente se uma conta do Twitter for gravada logo abaixo dessa linha, instala o cliente twitter rainbowstream com sudo apt-get install rainbowstream .

Você pode me ajudar? Eu não tenho ideias, não sou realmente um 'expert em shell' ..

    
por d33pcode 14.11.2014 / 15:34

1 resposta

1

Você pode fazer isso com grep

  cat filename | grep -A1 TWITTER | grep -v TWITTER

ou, talvez melhor, você pode fazer isso com awk

  awk '/TWITTER/{getline; print}' filename
    
por 14.11.2014 / 16:36