The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Array dentro de um array manas_ranjan UNIX & avançada para usuários experientes 5 06-10-2008 03:25
array PCC Programação Shell Script e 3 02-26-2008 03:19
Preciso de ajuda com um leque! djsal Programação Shell Script e 1 11-28-2007 11:26
criar array de caracteres exploração sring then echo array. rorey_breaker Programação Shell Script e 5 09-28-2007 09:42
Preciso de um array aqui? TheCrunge Programação Shell Script e 5 04-19-2005 04:20

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 02-06-2007
shary shary is offline
Usuário
  
 

Join Date: Jan 2007
Lugares: 61
usando array

Olá peritos

u por favor pode me dizer como eu tenho um arquivo de texto.
No terceiro campo de um arquivo, há nomes como

ABB
asa
asas
asasas
Eu só quero guardar o terceiro apresentado de um arquivo em um array.
e para mostrar o resultado em uma mesma ordem utilizando para loop através de array
qualquer um pode me dizer como fazer isso no shell script

cuidar bye

shary
  #2 (permalink)  
Old 02-06-2007
Glenn Arndt's Avatar
Glenn Arndt Glenn Arndt is offline Forum Advisor  
Anomalous Lurker
  
 

Join Date: Feb 2006
Localização: Indianapolis, IN
Lugares: 255
Qual é o campo delimitador? O seguinte assume uma vírgula:
Código:
integer i=0
awk 'BEGIN {FS=OFS=","} {print $3}' file.txt | while read item; do
  myarray[$i]=$item
  i=$i+1
done

Se os campos são delimitados por espaços, basta eliminar os BEGIN bloco:
Código:
integer i=0
awk '{print $3}' file.txt | while read item; do
  myarray[$i]=$item
  i=$i+1
done

  #3 (permalink)  
Old 02-06-2007
Glenn Arndt's Avatar
Glenn Arndt Glenn Arndt is offline Forum Advisor  
Anomalous Lurker
  
 

Join Date: Feb 2006
Localização: Indianapolis, IN
Lugares: 255
Você pode loop através do array que você criou com o presente:
Código:
for x in ${myarray[*]}; do
  print $x
done

  #4 (permalink)  
Old 02-06-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
viciado
  
 

Join Date: Jan 2007
Localização: Варна, България / Milano, Italia
Mensagens: 2.928
Com bash:

Código:
$ cat file
filed1 filed2 field3_1 field4
filed1 filed2 field3_2 field4
filed1 filed2 field3_3 field4
filed1 filed2 field3_4 field4
filed1 filed2 field3_5 field4
filed1 filed2 field3_6 field4
filed1 filed2 field3_7 field4
$ a=($(cut -d" " -f3 file))
$ i=0;until((i>=(${#a}-1)));do echo ${a[i]};((i+=1));done
field3_1
field3_2
field3_3
field3_4
field3_5
field3_6
field3_7

Com awk:

Código:
awk '{x[NR]=$3}
END{for(i=1;i<=NR;i++)print x[i]}' file

  #5 (permalink)  
Old 02-07-2007
tayyabq8's Avatar
tayyabq8 tayyabq8 is offline Forum Advisor  
Moderador
  
 

Join Date: Nov 2004
Localização: Bahrain
Lugares: 579
Citação:
Originally Posted by radoulov
$ A \u003d ($ (cut-d ""-f3 arquivo))
$ I \u003d 0; até ((i >\u003d(${# um) -1))); do echo $ (a [i ]};(( i + \u003d 1)); feito
Isso vai funcionar também com ksh93.
  #6 (permalink)  
Old 02-07-2007
anbu23 anbu23 is offline Forum Advisor  
Usuário
  
 

Join Date: Mar 2006
Local: Bangalore, Índia
Mensagens: 1.398

Código:
eval ` awk ' { printf("arr[%d]=%s\n",NR,$3) } END { printf("tot=%d",NR) }' file `
i=1
while [[ $i -le $tot ]]
do
	echo ${arr[$i]}
	(( i=i+1 ))
done

  #7 (permalink)  
Old 02-07-2007
shary shary is offline
Usuário
  
 

Join Date: Jan 2007
Lugares: 61
usando array

oi peritos

muito obrigado pela sua colaboração que eu realmente aprecio a sua resposta rápida.

Atenciosamente,
Shary
Closed Thread

Marcadores

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:43.


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