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
Strip d'une ligne de 2 lignes vides dans un fichier pompette De programmation et de script Shell 6 06-23-2008 09:14 AM
strip 4 premiers et 2 derniers lignes d'un fichier à l'aide de perl meghana De programmation et de script Shell 10 02-01-2008 09:01 PM
Comment avez-vous écoutés tampon lignes? jjinno De programmation et de script Shell 14 07-19-2007 04:36 PM
Strip 3 lignes d'en-tête et de 4 lignes de remorque ganesh123 De programmation et de script Shell 9 03-10-2007 05:15 PM
Chaque sortie de certaines lignes. munnabhai1 De programmation et de script Shell 1 04-06-2006 02:09 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 11-18-2008
sapedi sapedi is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 3
Comment Triplaques off écoutés EDI sortie

Elle est accompagnée d'un écoutés EDI ANSI X12 de sortie lorsque le segment terminator / délimiteur est un caractère tilde ~.

Est-il possible de faire la suite de pseudo-code dans un script Unix (en utilisant soit sed, Awk et / ou grep)?
Ouvrir le fichier StreamedOutput.txt
Recherche pour ISA et de suppression des données à caractère tilde ~
Recherche de GS et de suppression des données à caractère tilde ~
Et d'écrire le "milieu" peu de données sur le même nom de fichier.

En d'autres termes, je veux enlever la première (ISA) et le dernier segment (GS) de ce fichier à tous les tilde et laissez-moi le peu de données dans le milieu.

J'ai essayé d'utiliser le script suivant, mais ne pas avoir beaucoup de joie;
x \u003d `grep-n" ISA "StreamedOutput | cut-d" ~ "-f1`
y \u003d `grep-n" GS "StreamedOutput | cut-d" ~ "-f1`
a \u003d `echo $ (x) + 1 | bc»
b \u003d `echo $ (y) -1 | bc»
echo $ x $ y $ a $ b
sed -ne '$ (a), (b) $ p' StreamedOutput


Si je unstreamed les données d'entrée, il semble que;
ISA * HDR * DEBUT * US * ~ 0050000013
BA1 * Y ** A * US * TN 0050000013 *** **** Federal Express ~
YNQ RZ * O * ~
YNQ QQ * O * ~
DTM * 274 * 081015 ~
N1 * EX * Smith & Nephew, Inc * 24 * ~ 510123924RT
N2 * 1 * ~ 9013995343
N3 * EAST HOLMES RD ~
N4 * * Memphis TN 38118 * ~ * US
N1 ** STEVE ~ CAREY
N3 * EAST BLACKHAWK DR 1720 ~
N4 * PHOENIX AZ * 85024 * ~ * US
N1 * FW * Federal Express * 24 ~
N3 * 123 ~
N4 * * MEMPHIS TN ** US ~
L13 * 9021.10.0050 *** A * 10 * 20 **** K * 0 * Bone plaques, de vis et de clous et d'autres OS inte * ~ * D
L13 * 9021.31.0000 A * 10 * 1000 *** **** K * 0 * Artificial joints et pièces et accessoires * OS * F ~
L13 * 9021.31.0000 A * 10 * 1000 *** **** K * 0 * Artificial joints et pièces et accessoires * OS * D ~
GS * TRL * END * US * ~ 0050000013

Et le résultat est, je veux;
BA1 * Y ** A * US * TN 0050000013 *** **** Federal Express ~
YNQ RZ * O * ~
YNQ QQ * O * ~
DTM * 274 * 081015 ~
N1 * EX * Smith & Nephew, Inc * 24 * ~ 510123924RT
N2 * 1 * ~ 9013995343
N3 * EAST HOLMES RD ~
N4 * * Memphis TN 38118 * ~ * US
N1 ** STEVE ~ CAREY
N3 * EAST BLACKHAWK DR 1720 ~
N4 * PHOENIX AZ * 85024 * ~ * US
N1 * FW * Federal Express * 24 ~
N3 * 123 ~
N4 * * MEMPHIS TN ** US ~
L13 * 9021.10.0050 *** A * 10 * 20 **** K * 0 * Bone plaques, de vis et de clous et d'autres OS inte * ~ * D
L13 * 9021.31.0000 A * 10 * 1000 *** **** K * 0 * Artificial joints et pièces et accessoires * OS * F ~
L13 * 9021.31.0000 A * 10 * 1000 *** **** K * 0 * Artificial joints et pièces et accessoires * OS * D ~
  #2 (permalink)  
Old 11-18-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,342
Essayez d'abord sans la couleur du fragment de code

Code:
awk '/^ISA/||/^GS/{next}{print}' file > newfile && mv newfile > file

  #3 (permalink)  
Old 11-18-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Lieu: Accueil de 17-champion du monde Boston Celtics
Messages: 1311
Cool

Voulez-deux grep d'exclure du travail?


Code:
grep -v "^ISA" file75 | grep -v "^GS"

  #4 (permalink)  
Old 11-18-2008
danmero danmero is online now Forum Advisor  
  
 

Join Date: Nov 2007
Lieu: 45.48-73.63
Posts: 1,439
Ou d'un grep

Code:
grep -v '^[ISA|GS]' file

  #5 (permalink)  
Old 11-18-2008
sapedi sapedi is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 3
Merci pour les réponses, mais comment modifier votre code si les données ont été écoutés (c'est-à-dire une longue série de données dans ce cas) de sorte que le délimiteur qui sépare les segments est le tilde ~ char.
  #6 (permalink)  
Old 11-18-2008
danmero danmero is online now Forum Advisor  
  
 

Join Date: Nov 2007
Lieu: 45.48-73.63
Posts: 1,439
Essayez awk:

Code:
awk -F'~' '{for(i=1;i<NF;i++){if($i !~ /^[ISA|GS]/)printf $i FS}}'

  #7 (permalink)  
Old 11-19-2008
sapedi sapedi is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 3
Salut Danmero, serait-il trop demander pour une ventilation de votre code, et il les intentions / sens que j'ai essayé de code en utilisant une combinaison de grep et sed? Merci!
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 04: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