Sou assinante do RSS do grupo de discrussão
http://br.groups.yahoo.com/group/shell-script/rss
Volta e meia aparecem dúvidas sobre o SED "stream editor"
e quase sempre alguém sugere algo como:
cat arquivo.original > arquivo.original.backup
cat arquivo.original | sed '/padrao/d' > arquivo.modificado
mv arquivo.modificado arquivo.original
mas você pode simplificar tudo fazendo:
sed -i.backup '/padrao/d' arquivo.original
No caso acima o sed irá apagar a palavra "padrão"
mas antes ele já cria o bakcup pra você, tudo em uma
mísera linha. :)
Modificando a profundidade de cores do xorg.conf
# sed -i.backup 's/\(DefaultDepth\s\+\)24$/\116/g' /etc/X11/xorg.conf
No caso acima há um bocado de expressões regulares, para este assunto
sugiro o guia do Aúrélio.
Vou tentar traduzir a expressão regular acima:
o sed está fazendo sed -i.backup 's/isto/aquilo/g'
1 - Referenciamos um grupo que contém DefaultDepth junto com um
ou mais espaços \s\+ tudo isto agrupado dentro de
parênteses "que tem que ser protegidos com contrabarra
o que gera isto:
\(DefaultDepth\s\+\)
este grupo que está dentro dos parênteses é colado
lá na substituição \1 isto cola o grupo acima
2 - O valor '24' literal
3 - Referência ao final da linha '$'
4 - Agora entra a substituição
\1 ............. DefaultDepth + espaços
16 ............. Valor que deverá substituir o 24
Referências:
http://www.zago.eti.br/sed.txt
man sed
Nenhum comentário:
Postar um comentário
Insira seu comentário - O mesmo será submetido à aprovação!