The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
fångstanordningar utdata från början och format produktion new2ss Shell-programmering och Skript 4 02-24-2009 09:26
Utdataformat - jämfört med I / P-fil velappangs Shell-programmering och Skript 1 04-03-2008 06:31
För att konvertera flera format filen till en läsbar ASCII-format gaur.deepti UNIX for Dummies Frågor & Svar 5 03-25-2008 03:03
Filformat frågan: Produktion av sqlplus deepakgang UNIX for Dummies Frågor & Svar 2 10-25-2007 03:56
Format produktionen av fil getdpg Shell-programmering och Skript 9 01-24-2006 12:50

Reply
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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-02-2009
becksram123 becksram123 is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 6
formatera utdata från en fil

hej,
Jag behöver formatera produktion som finns i en fil
fil produktionen
Följande är Process_Scheduler Domäner körs i servern Ram-pc
VPORCL
Följande är Application Server domäner som körs i servern Ram-pc
VPORCL01
VPORCL02

dessa värde VPORCL, VPORCL01 ... är dynamiskt värde att jag måste skriva ut det här int hans format

hostname domaintype domännamn
Ram-pc Process_Scheduler VPORCL
Ram-st Application Server VPORCL01
Ram-st Application Server VPORCL02

thanxs i förväg
  #2 (permalänk)  
Old 07-02-2009
palsevlohit_123 palsevlohit_123 is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Indien-Chennai
Inlägg: 120
prova detta ..

Kod:
NoOfWords=0
while read LINE
do
        NoOfWords=`echo $LINE|wc -w|awk '{print $1}'`
        #echo "NoOfWords : [$LINE][$NoOfWords]"
        if [ "$NoOfWords" -eq "1" ]
        then
                echo "$OutString " " $LINE"
        elif [ "$NoOfWords" -eq "10" ]
        then
                OutString=`echo $LINE|awk '{printf "%s %s", $10,$4}'`
        elif [ "$NoOfWords" -eq "11" ]
        then
                OutString=`echo $LINE|awk '{printf "%s %s %s", $11,$4,$5}'`
        fi
done < Filename

Obs: i stället för Filnamn måste du ge input filename.
  #3 (permalänk)  
Old 07-03-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Join Date: juni 2009
Ort: Finland
Inlägg: 236
Klar att använda utan externa program som awk.
1:a versionen är generiska, ta bort extra data från linjer.
Kod:
#!/usr/bin/ksh
while read id restline
do
        case "$restline" in
                "") # only id, so print line
                    print "$prevheader $id"
                    ;;
                *)  # long line, remove constant/extra strings
                    str=${restline/are the/}
                    str=${str/running in the server/}
                    str=${str/[Dd]omains/}
                    # what we have ? Values
                    prevheader=$str
                    ;;
        esac
done < input.txt
Och sedan att lösningen i det här fallet. Behöver du ändra område för
Kod:
print "____________________________________________________"
# change fld order
while read id restline
do
        case "$restline" in
                "") print "$prevheader $id" ;;
                *)  str=${restline/are the/}
                    str=${str/running in the server/}
                    str=${str/[Dd]omains/}
                    # fields to array flds
                    set -A flds -- $str
                    lastfld=${#flds[*]}
                    # first id = 0
                    ((lastfld-=1))
                    # last field value
                    prevheader=${flds[$lastfld]}
                    ((lastfld-=1))
                    # rest fields
                    fld=0
                    while ((fld<=lastfld))
                    do
                          prevheader="$prevheader ${flds[$fld]}"
                          ((fld+=1))
                    done
                    ;;
        esac
done < input.txt
  #4 (permalänk)  
Old 07-03-2009
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Ort: -31.96,115.84
Inlägg: 1.407
Eller ...
Kod:
awk -F '(Following are the |[dD]omains running in the server )' 'NF>1{x=$3 OFS $2}NF==1{print x $1}' file1
... ger ...
Kod:
Ram-pc Process_Scheduler VPORCL
Ram-pc Application Server VPORCL01
Ram-pc Application Server VPORCL02
  #5 (permalänk)  
Old 07-03-2009
thanhdat's Avatar
thanhdat thanhdat is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Paris
Inlägg: 107
min lösning är längre än ygor's men u kan försöka ^ _ ^

Kod:
awk '{ if(NF==1) printf ("%s %s\n", text, $NF);else if (NF==10) text = $10 OFS $4; else if(NF==11)  text = $11 OFS $4 OFS $5; }' test.txt
  #6 (permalänk)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Join Date: juni 2007
Plats: Beijing Kina
Inlägg: 1.079
Kod:
my($type,$name);
while(<DATA>){
	if(/.*the\s+(.*)\s+[Dd]omains.*server\s+(.*)/){
		$type=$1;
		$name=$2;
		next;
	}
	print $name," ",$type," ",$_;
}
__DATA__
Following are the Process_Scheduler Domains running in the server Ram-pc
VPORCL
Following are the Application Server domains running in the server Ram-pc
VPORCL01
VPORCL02
Reply

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 04:56.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0