The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

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
Como transpor uma tabela de dados usando awk ahjiefreak Programação Shell Script e 2 07-28-2008 11:43
Como transpor dados em awk ahjiefreak Programação Shell Script e 2 05-13-2008 04:44
Como faço para transpor uma coluna de resultados para uma fila m223464 Programação Shell Script e 6 05-06-2008 07:33
Fila para transpor coluna videsh77 Programação Shell Script e 10 06-16-2007 12:54
transpor comando su_in99 UNIX para Dummies Perguntas & Respostas 3 05-16-2007 05:10

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 03-17-2009
iamwha1am iamwha1am is offline
Usuário
  
 

Join Data: dezembro 2008
Posts: 4
Transpor Filas

Oi,

Estou a tentar transpor um conjunto de linhas em um conjunto de valores separados por vírgulas.

Por ex. se a saída de

ps-ef | tail +2 | awk 'BEGIN (FS \u003d "") (print $ 2)'

é

0
1
3
4

Preciso de transpô-la para --

'0 ','1','3 ','4'

Am atualmente tentando --

ps-ef | tail +2 | awk 'BEGIN (FS \u003d "") (print $ 2)' | tr '\ n' ','> tmpfile
sessList \u003d `cat tmpfile | sed s /. $ / \ '/ | sed s / ^ / \ '/ | sed s / \, / \ '\, \' / `
echo $ sessList

No entanto, que não parecem funcionar.

Quaisquer indicações nesse sentido de forma mais eficiente / elegantemente será de grande ajuda.
  #2 (permalink)  
Old 03-17-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programador, autor
  
 

Join Date: Mar 2007
Localização: Toronto, Canadá
Posts: 2.361

Código:
sessList=$(ps -ef | awk -v sq="'" 'NR > 1 { printf sq "%s" sq ",", $2 }' )
  #3 (permalink)  
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Usuário
  
 

Join Date: Jun 2007
Localização: Beijing China
Mensagens: 1.088
Código:
sed -e "s/^/'/" -e "s/$/'/" a.txt | nawk '{str=sprintf("%s,%s",str,$0)}
END{
	sub(/,/,"",str)
print str
}'
  #4 (permalink)  
Old 03-18-2009
iamwha1am iamwha1am is offline
Usuário
  
 

Join Data: dezembro 2008
Posts: 4
Graças Cherry Johnson e para as respostas.

A saída de

sessList \u003d $ (ps-ef | awk-v ² \u003d " '"' NR> 1 m² (printf "% s" m² ",", $ 2) ')

parece --
'0 ','1','3 ','4',

Existe um adicional vírgula no final.

A saída do comando da Cereja é exactamente aquele que eu estava procurando.

No entanto, você pode me ajudar a compreender a sintaxe (ainda estou com os braços sed awk e utilizando o Google) para que eu possa mudá-lo se for necessário no futuro.
  #5 (permalink)  
Old 03-18-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuário
  
 

Join Date: Sep 2006
Mensagens: 2.533
se tiver python
Código:
# ps -eo pid | python -c "import sys;print '\'' +  '\',\''.join(sys.stdin.read().split()[1:]) + '\''"
'1','2','3','4','5','6','7','8','9','12','13','81','82','83','84','85','296','297','298','337','667','668','680','683','795','889','1203','1417','1525','1649','1792','1793','2008','2010','2012','2014','2016','2018','2512','2527','2542','2639','2790','2793','2831','3277','3324','3360','3488','3520','3595','3675','3678','3731','3820','3828','3845','3882','3890','3897','3990','4119','4137','4162','4174','4182','4190','4200','4201','4303','4356','4488','4489','4490','4491','4492','4493','4529','4530','4531','4532','4533','4568','4768','5016','5017','5040','5078','5082','5083','5115','5118','5120','5122','5127','5129','5130','5132','5134','5135','5140','5142','5146','5150','5152','5163','5166','5189','5356','5357','5477','5478','5482','5483','5494','5759','5784','5801','5817','5835','5868','5887','5903','5930','5963','5965','7577','11900','3766','17617','17621','17639','17662','17675','17769','17783','20002','22678','23660','23722','23723'
Closed Thread

Marcadores

Tags
separados por vírgulas, transpor

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 03:04.


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