The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
alguém pode me ajudar a modificar este ficheiro eamani_sun Programação Shell Script e 2 05-22-2008 02:15
Precisa de ajuda para modificar o prompt Mahatma Programação Shell Script e 7 08-02-2006 04:45
modificando o meu escudo nico-hellas Programação Shell Script e 1 08-05-2005 10:43
modificando a redação de um diário ... Nicol Programação Shell Script e 2 04-13-2005 11:05
Modificando $ variável PATH em / etc / profile Deepali UNIX para Dummies Perguntas & Respostas 3 03-12-2001 12:17

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-14-2008
kartikkumar84 @ g kartikkumar84@g is offline
Usuário
  
 

Join Date: May 2008
Lugares: 17
Modificando um valor variável

Oi tudo, como faço para modificar uma variável de valor.

var1 \u003d 'abcd efgh ijkl mnop abcd'

Como faço para obter var2 de var1

var2 \u003d$(......)
echo $ var2
efgh abcd ijkl mnop

isto é, i ter removido um duplicado ocorrência.

ou, em geral como modificar uma varible.

thanks in advance
  #2 (permalink)  
Old 05-14-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Não é de todo claro o conceito que você está procurando. Talvez você possa elaborar em que um pouco. Entretanto, aqui estão alguns exercícios esperançosamente útil.


Código:
var2=$var1   #copy var1 to var2
var2=${var2%abcd}  # trim abcd from end, if present
var2=`echo "$var2" | tr ' ' '\012' | sort | uniq | tr '\012' ' '` # remove duplicate tokens

O token duplicado remoção é provavelmente muito diferente do que você está imaginando que seria, e tem o infeliz efeito colateral de triagem os restantes fichas. Neste caso, não importa, porque eles já estavam classificados, mas não é uma boa solução para fins gerais, se a ordem das fichas é significativo.

Talvez você devesse ler um tutorial sobre programação shell, neste ponto, há um monte de coisas que você pode fazer com substituição variável ($ (var% caimento) mas é um único exemplo).
  #3 (permalink)  
Old 05-14-2008
kartikkumar84 @ g kartikkumar84@g is offline
Usuário
  
 

Join Date: May 2008
Lugares: 17
oi era

Estou habituado a programação em Matlab e C + + e nestas línguas, pode referir-se a membros individuais de uma variável (array) e comparar seus valores a todos os outros membros com 2 loops. Como posso conseguir isso no Unix. Por exemplo

var2 \u003d $ (utilizadores)

retornará ao actual usuários, mas se um usuário estiver executando duas instâncias de um reservatório, em seguida, que o usuário será devolvido duas vezes. Como posso eu o caimento varible $ var2 de modo que várias ocorrências de nomes de utilizador são eliminados. Posso usar um de loop para loop através de cada membro da varible mas então como faço para compará-la ao resto do usuário em $ var2.

Refiro-me à tutoriais bem, mas a maioria deles jus explicar a sintaxe geral de comandos. Acho que eu não estou referindo-se ao direito queridos, vai trabalhar em THT.
  #4 (permalink)  
Old 05-14-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Na verdade a minha sort | uniq exemplo não foi tão longe a marca então.

A variável em Bourne clássico é apenas um pedaço de texto; algumas conchas, como bash e ksh têm variáveis array, também. O truque comum seria a de alterar o texto, por isso, é de forma adequada, pelo tempo que você atribui a uma variável.


Código:
var2=$(users | sort | uniq)

  #5 (permalink)  
Old 05-14-2008
shamrock shamrock is offline Forum Advisor  
Usuário
  
 

Join Date: Oct 2007
Localização: E.U.A.
Lugares: 753

Código:
var2=$(users | awk '{for(i=1; i<=NF; ++i) if(!a[$i]++) printf("%s ", $i)}')

  #6 (permalink)  
Old 05-22-2008
kartikkumar84 @ g kartikkumar84@g is offline
Usuário
  
 

Join Date: May 2008
Lugares: 17
Citação:
var2 \u003d $ (utilizadores | awk '(for (i \u003d 1, i <\u003d NF; + + i) if (! um [$ i] + +) printf ( "% s", $ i))')
Oi, Obrigado, isso funciona, é possível que sem a utilização sed ou awk.
Closed Thread

Marcadores

Tags
awk, awk caimento, caimento, caimento awk, comandos unix

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:22.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0