The UNIX and Linux Forums  

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
Comment peut-debug notre script shell UNIX? psiva_arul UNIX for Advanced & Expert Users 3 09-07-2008 11:31 AM
Comment faire pour déboguer le script awk Chella De programmation et de script Shell 2 11-08-2007 07:51 PM
debug AIX 4.3 itik AIX 2 10-29-2007 11:56 AM
comment déboguer ramneek High Level Programming 1 09-19-2005 07:35 AM
espace disque script debug - posté avant bryan De programmation et de script Shell 3 04-28-2005 08:50 PM

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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 10-01-2007
mboro mboro is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 2
Talking Déboguer un script Awk

Je tiens à en extraire les champs suivants du fichier texte joint. J'ai copié le contenu d'un fichier pdf et de les coller dans le fichier texte afin que je puisse utiliser awk pour les extraire. La disposition est comme indiqué ci-dessous.

nom1, nom2, name3, name4, le titre, la désignation, la nationalité, la date de naissance,
national d'identification, l'adresse, la liste, d'autres informations


Le problème est si je supprimer les commentaires dans le script, je semble avoir rien à mettre dans le fichier. S'il vous plaît, aidez, je suis de nouveau à la programmation et de ses awk déconcertant moi. Et certains des renseignements que je suis l'extraction est dans la mauvaise colonnes. Qu'est-ce que je fais de mal? S'il vous plaît conseils. Je suis nouveau à ce langage

1) Il s'agit du script


Code:
  BEGIN { print "name1,name2,name3,name4,Title,designation,nationality,dob,national identication,address,listed On,Other information";Title=""; dob=""; nationality="";
  }
/*Name(:?)/ {

    if (Title != "" )
    {
      printf ",%s",Title;
      Title=" ";
    }
    if (designation != "" )
    {
      printf ",%s",designation;
      designation=" ";
    }
    if (nationality != "" )
    {
      printf ",%s",nationality;
      nationality=" ";
    }
    if (dob != "" )
    {
      printf ",%s\n",dob;
      dob=" ";
    }
    line = $0;
    gsub(/[[:digit:]]+:/,"",line);
    gsub(/[[:digit:]]+\./,"",line);
    sub(/*Name:/,"",line);
    sub(/*Name/,"",line);
    split(line,names);
    x = 1;
    while (x<=3)
    {
      printf "%s,", names[x];
      x++;
    }
    printf "%s", names[x];
    name1 = $4;
    name2 = $6;
    name3=$8;
    name4=$10;
}
##--> Add title field
/Title:/ {
  line=$0;
  idx1 = index(line,"Title:");
  idx2 = index(line,"Designation:");
  if (idx2==0)
  {
    idx2 = length(line)+1;
  }
  Title = substr(line, idx1+length("Title:"), idx2 - idx1 - length("Title:") );
  sub(",",";",Title)
}

##--> Add Designation
/Designation:/ {
  line=$0;
  idx1 = index(line,"Designation:");
  idx2 = index(line,"DOB:");
  if (idx2==0)
  {
    idx2 = length(line)+1;
  }
  designation = substr(line, idx1+length("Designation:"), idx2 - idx1 - length("Designation:") );
  sub(",",";",designation)
}

/*Nationality: / {
  line = $0;
  idx1 = index(line,"*Nationality: ");
  idx2 = index(line,"Passport");
  nationality = substr(line, idx1+length("*Nationality: "), idx2 - idx1 - length("*Nationality: ") );
  sub(",",";",nationality)
}
/DOB:/ {
  line=$0;
  idx1 = index(line,"DOB:");
  idx2 = index(line,"POB");
  if (idx2==0)
  {
    idx2 = length(line)+1;
  }
  dob = substr(line, idx1+length("DOB:"), idx2 - idx1 - length("DOB:") );
  sub(",",";",dob)
}
##/National identification no.:/ {
  ##line=$0;
  ##idx1 = index(line,"National identification no.:");
  ##idx2 = index(line,"Address");
  ##if (idx2==0)
  ##{
  ##  idx2 = length(line)+1;
  ##}
  ##dob = substr(line, idx1+length("National identification no.:"), idx2 - idx1 - length("National identification no.:") );
  ##sub(",",";",National identification no)
##}

##/Title:/ {context="title"; printf "%s:",context}

Fichiers attachés
File Type: zip AwkScripts.zip (2.4 KB, 10 views)

Dernière édition par vino; au 10.01.2007 07:08 AM.. Motif: Ajout de balises du code.
  #2 (permalink)  
Old 10-01-2007
mboro mboro is offline
Registered User
  
 

Join Date: Oct 2007
Messages: 2
Plus ont ajouté des champs (Nouvelle présentation)

nom1, nom2, name3, name4, le titre, la désignation, la nationalité, le DOB, le POB,
Bonne qualité alias, alias Basse qualité, national d'identification, l'adresse, la liste, d'autres informations
Closed Thread

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 09:58 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