The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
la capture de sortie de haut et le format de sortie new2ss De programmation et de script Shell 4 02-24-2009 09:26 PM
Format de sortie - la comparaison avec I / p fichier velappangs De programmation et de script Shell 1 04-03-2008 06:31 AM
Pour convertir des fichiers multi-format à un format lisible ascii gaur.deepti UNIX pour les nuls Questions et réponses 5 03-25-2008 03:03 PM
Format de fichier numéro: Sortie de sqlplus deepakgang UNIX pour les nuls Questions et réponses 2 10-25-2007 03:56 AM
Format de sortie du fichier getdpg De programmation et de script Shell 9 01-24-2006 12:50 PM

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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 07-02-2009
becksram123 becksram123 is offline
Registered User
  
 

Date d'inscription: juin 2009
Messages: 6
le format de sortie à partir d'un fichier

salut,
J'ai besoin de format de sortie qui est disponible dans un fichier
fichier de sortie est
Voici les domaines Process_Scheduler fonctionnement du serveur Ram-pc
VPORCL
Voici les domaines Application Server fonctionnant sur le serveur de Ram-pc
VPORCL01
VPORCL02

ces valeurs VPORCL, VPORCL01 ... sont dynamiques valeur i besoin d'imprimer ce format sur son int

hostname domaintype nom de domaine
Ram-pc Process_Scheduler VPORCL
Ram-pc Application Server VPORCL01
Ram-pc Application Server VPORCL02

thanxs à l'avance
  #2 (permalink)  
Old 07-02-2009
palsevlohit_123 palsevlohit_123 is offline
Registered User
  
 

Date d'inscription: août 2008
Lieu: Inde, Chennai
Messages: 120
essayez cette ..

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

Note: au lieu de nom de fichier, vous devez donner le nom du fichier d'entrée.
  #3 (permalink)  
Old 07-03-2009
kshji's Avatar
kshji kshji is offline
Registered User
  
 

Date d'inscription: juin 2009
Lieu: Finlande
Messages: 236
Fait sans l'aide de programmes externes tels awk.
1ère version est générique, supprimer les données des lignes.
Code:
#!/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
Et puis à la solution de cette affaire. Besoin de changer le terrain afin
Code:
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 (permalink)  
Old 07-03-2009
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Modérateur
  
 

Join Date: Oct 2003
Lieu: -31.96,115.84
Posts: 1,408
Ou ...
Code:
awk -F '(Following are the |[dD]omains running in the server )' 'NF>1{x=$3 OFS $2}NF==1{print x $1}' file1
... donne ...
Code:
Ram-pc Process_Scheduler VPORCL
Ram-pc Application Server VPORCL01
Ram-pc Application Server VPORCL02
  #5 (permalink)  
Old 07-03-2009
thanhdat's Avatar
thanhdat thanhdat is offline
Registered User
  
 

Date d'inscription: août 2008
Lieu: Paris
Messages: 107
ma solution est plus longue que Ygor, mais vous pouvez essayer ^ _ ^

Code:
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 (permalink)  
Old 07-05-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1,086
Code:
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

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:38 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0