Boa noite pessoal.
Tenho um arquivo com o seguinte conteúdo:

smartd: syslog
smb: network syslog nmb
xdm: syslog kbd acpid
stopblktrace: apache2 boot.clock kbd fbset splash irq_balancer dbus
Monitor: apache2 boot.clock kbd fbset splash irq_balancer dbus
Network: apache2 boot.clock kbd fbset splash irq_balancer dbus
TV_Finder: apache2 boot.clock kbd fbset splash irq_balancer dbus

Esta é a maneira como o OpenSuSE descreve os serviços e cria as
dependências de serviços para pôr ordem na inicialização.

Preciso ordenar certos serviços de maneira mais precisa do que a
ferramenta prevê.

Monitor, Network e TV_Finder precisam estar nesta ordem e a maneira de
fazer com que isto aconteça é colocar, no final da linha Network, a
inscrição do serviço acima "Monitor".

Isto serve apenas para explicar o que estou fazendo.

Então, preciso encontrar uma string, localizar a última palavra nesta
linha, verificar se outra string existe e se não existir, inserir a
string conhecida, reescrevendo o arquivo.

começando:

cat .depend.start | grep 'Network:'

Com isto eu localizo a linha do serviço.
O que eu não sei:
Como descubro o que está no final da linha?
Caso não exista a string procurada, como inserir no final da linha?
Como fazer tudo isto reescrevendo o arquivo?

Quero que fique claro que não preciso que façam para mim, só não sei
que técnicas usar.

Abraço à todos

Fernando A. Gottlieb

Responder a