|
|
||||||
| Wiki | Classificados | Reviews | Jogos | Grupos Sociais | RSS Feeds | FAQ | Termos de Uso | Contato | Sobre |
| Registrar | Fotos | Membros | Calendário | Pesquisar | Postados Hoje | Marcar Fóruns Como Lidos |
Quer ver menos banners de publicidade ? Entao Cadastre-se!
![]() |
|
|
LinkBack | Ferramentas do Tópico |
|
|
#1 (permalink) |
|
Caros,
Estou com um probleminha ao usar o "sed" em meu script, ao tentar passar variavel em um laço ele somente remove da lista a ultima variavel o comando no fim do laço. segue o codigo Código:
array=( ${array[*]} `ls -1 *.loc` )
for palavra in ${array[@]}; do
sed "/$palavra/d" lista_loc.txt;
done
Grato |
![]() Registrado em: Sep 2002
Posts: 131
Agradeceu: 3
Agradecido 0 vez(es) em 0 Posts
Reputação: 0
![]() |
|
|
|
|
#2 (permalink) |
|
Você está querendo remover a palavra definitivamente do arquivo lista_loc.txt?
Se você executar o seu script usando bash -x script.sh poderá ver que ele remove todas as ocorrências do array, mas uma por vez. Se você quiser alterar o arquivo lista_loc.txt e remover as ocorrências a medida que elas aparecerem, você tem que usar sed -i "/$palavra/d" lista_loc.txt, assim ele vai alterar o arquivo removendo a palavra de dentro dele. Se não for isso que você quer, poste aqui um exemplo do que você está querendo que eu te ajudo melhor.
__________________
Frederico Freire Boaventura (Galahad) LPIC-II | MCP A resposta ajudou? Agradeça! "Linux poses a real challenge for those with a taste for late-night hacking (and/or conversations with God)." (By Matt Welsh) |
Super Moderador
![]() Registrado em: Jun 2008
Localização: Espírito Santo
Distribuição: Gentoo
Posts: 250
Agradeceu: 10
Agradecido 50 vez(es) em 48 Posts
Reputação: 42
![]() ![]() |
|
|
|
|
#3 (permalink) | |
|
Citação:
galahad, Muito obrigado pela sua dica, na verdade o comando remove a linha onde encontra a palavra, a sua dica funcionou, apenas preciso que o arquivo original se mantenha, teria como eu fazer isso sem comandos terceiros (cp lista_loc.txt lista_clean.txt)? Usando o comando abaixo ele nao direcionou a saida para lista_clean.txt. Código:
sed -i "/$palavra/d" lista_loc.txt > lista_clean.txt Obrigado! |
![]() Registrado em: Sep 2002
Posts: 131
Agradeceu: 3
Agradecido 0 vez(es) em 0 Posts
Reputação: 0
![]() |
|
|
|
|
|
#4 (permalink) |
|
você pode tentar usar:
sed -e "/$palavra/d" lista_loc.txt >> lista_clean.txt Acho que resolve seu problema
__________________
Frederico Freire Boaventura (Galahad) LPIC-II | MCP A resposta ajudou? Agradeça! "Linux poses a real challenge for those with a taste for late-night hacking (and/or conversations with God)." (By Matt Welsh) |
Super Moderador
![]() Registrado em: Jun 2008
Localização: Espírito Santo
Distribuição: Gentoo
Posts: 250
Agradeceu: 10
Agradecido 50 vez(es) em 48 Posts
Reputação: 42
![]() ![]() |
|
|
| Os seguintes usuarios agradeceram galahad por este post: | diogoborsoi (08-07-2008) |
|
|
#5 (permalink) | |
|
Citação:
galahad, mais uma vez agradeço pela sua ajuda, ja havia tentado assim e nao funcionou como esperado, mas usando sua dica anterior funcionou perfeitamente, adicionei um "cp" no script e ficou tudo certo. Obrigado!
|
![]() Registrado em: Sep 2002
Posts: 131
Agradeceu: 3
Agradecido 0 vez(es) em 0 Posts
Reputação: 0
![]() |
|
|
|
![]() |
| Tags |
| sed, shell script |
| Ferramentas do Tópico | |
|
|
Tópicos Similares
|
||||
| Tópico | Tópico Iniciado Por | Fórum | Respostas | Última Mensagem |
| Variaveis de Ambiente | ngl | Adm. em Geral | 0 | 22-07-2005 03:40 |
| variaveis nao tao variaveis assim | Jaime_lsp | Iniciantes | 13 | 16-03-2005 17:28 |
| PHP 4.3.1 não passa as variáveis | Programação | 6 | 08-06-2003 15:45 | |
| PHP 4.3.1 não passa variáveis | Adm. em Geral | 5 | 02-06-2003 16:13 | |
| Variaveis do Samba!! | Anticristh | Proxy/NAT/Firewall | 1 | 30-01-2003 18:30 |