shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

duvida com sed


From: Mauricio Vieira
Subject: duvida com sed
Date: Tue, 19 Dec 2000 18:28:31 -0200 (BRST)

Alo lista,
tenho uma duvida com um script que penso ser possivel ser feito
apenas com sed (sou iniciante). tenho uma serie de listas do majordomo e
quero acrescentar o @araketu.dcc.ufba.br em todos os nomes que nao tiverem
o @ (ha mails @outracoisa.dominio e nao devem ser alterados, mas todos os
nomes que nao tem o @ sao araketu.dcc.ufba.br)
nao entendo muito bem como o sed faz para apagar o nome do arquivo ou nao sei
 como posso substituir o nome no arquivo, entao fiz o seguinte:

#!/bin/bash

# Acerta.sh - script para adicionar o @araketu.dcc.ufba.br em todos os
# logins de todas as listas que nao tiverem o @araketu.dcc.ufba.br

# Por Mauricio B. C. Vieira - 2000dez19

for I in $( ls -1 | grep -E -e 'info' -e 'config' | cut -f 1 -d . | sort \
| uniq ); do
  cp $I $I.acerta
  for NOME in $( grep -v @ $I.acerta ); do
        sed '/NOME/d' $I.acerta >> $I
        sed 's/NOME/address@hidden/' $I.acerta >> $I
  done
done

#fim

e nao funcionou. como o sed pode substituir o texto no proprio arquivo,
sem ter que redirecionar pro pipe? percebi (testando) que se manda
redirecionar a saida pro proprio arquivo ele apaga (sed 'algumacoisa'
arquivo > arquivo) o proprio arquivo.
o motivo daquele pequeno comando no ls eh pq o majordomo tem os arquivos
lista-alunos, lista-alunos.config e lista-alunos.info e quero apenas o
lista-alunos. alguma sugestao? nao sei awk nem perl, mas sugestoes sao
bem-vindas (ateh um incentivo pra estudar isto tbm).

+
   Mauricio Vieira

                                                    +



reply via email to

[Prev in Thread] Current Thread [Next in Thread]