The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Hvordan til at gennemføre en tabel med data ved hjælp awk ahjiefreak Shell Programmering og Scripting 2 07-29-2008 12:43 AM
Hvordan omsætte dataelementer i awk ahjiefreak Shell Programmering og Scripting 2 05-13-2008 05:44 AM
Hvordan kan jeg gennemføre en kolonne af resultater til en række m223464 Shell Programmering og Scripting 6 05-06-2008 08:33 AM
Row kolonne omsætte videsh77 Shell Programmering og Scripting 10 06-16-2007 01:54 PM
omsætte kommando su_in99 UNIX for dummyer Spørgsmål & svar 3 05-16-2007 06:10 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 03-17-2009
iamwha1am iamwha1am is offline
Registreret Bruger
  
 

Join Date: Dec 2008
Stillinger: 4
Overtage Rækker

Hej,

Am forsøger at gennemføre en række af rækker i en række kommaseparerede værdier.

For f.eks. hvis produktionen af

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

er

0
1
3
4

Jeg har brug for at omsætte det til --

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

Am øjeblikket forsøger --

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

Men, som ikke synes at virke.

Any pointers til at nå dette mere effektivt / elegant vil være til stor hjælp.
  #2 (permalink)  
Old 03-17-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Stillinger: 2361


Code:
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  
Registreret Bruger
  
 

Join Date: Jun 2007
Location: Beijing Kina
Posts: 1.089

Code:
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
Registreret Bruger
  
 

Join Date: Dec 2008
Stillinger: 4
Takket Johnson og Cherry for svarene.

Outputtet fra

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

udseende --
'0 ','1','3 ','4',

Der er en ekstra komma i sidste ende.

Output fra Cherry's kommando er præcis den, jeg var på udkig efter.

Men kan du hjælpe mig forstå syntaks (am stadig kæmper med sed og awk ved hjælp af Google) så jeg kan ændre den hvis det er påkrævet i fremtiden.
  #5 (permalink)  
Old 03-18-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554
hvis du har python

Code:
# 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

Bogmærker

Tags
kommasepareret, omsætte

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0