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 changer de domaine seperator onthetopo De programmation et de script Shell 2 05-11-2007 01:11 PM
Utilisation | comme un séparateur de rejoindre firvin UNIX pour les nuls Questions et réponses 5 03-28-2006 12:23 PM
Comma seperator premar De programmation et de script Shell 6 02-17-2006 04:16 AM
comment je peux utiliser un mot pour seperator qrshat SUN Solaris 3 02-10-2006 07:08 AM
Awk Field Seperator Aide insania De programmation et de script Shell 3 11-11-2005 04:29 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 05-26-2009
pinnacle pinnacle is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 182
SUBSEP Seperator problème avec awk

Le code suivant supprime une nouvelle ligne avec guillemets
Je suis en remplacement de caractère entre guillemets avec 123.

Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "123"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}

Here i am combinant 4e et 5e terrain avec "123" comme seperator

Code:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file

Remplacement de Comma seperator et "123" avec l'espace.
Le problème ici est de savoir si les données "123" qui sera également remplacé par l'espace.
Je veux seulement "123" seperator à être remplacé.


Code:
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file

J'ai essayé d'utiliser SUBSEP
Ce code au lieu d'utiliser la valeur pour SUBSEP "\ 034" de son insertion "SUBSEP"


Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "SUBSEP"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}

et comment gérer ce changement dans le code


Code:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file

  #2 (permalink)  
Old 05-26-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5808
SUBSEP est une virgule par défaut, c'est ce que \ 034 est. Il vous suffit d'utiliser ","

Pouvez-vous pas le format de sortie avec printf (format-string, [valeur], ...);
  #3 (permalink)  
Old 05-26-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2005
Lieu: Boston, MA
Posts: 5131
vous utilisez un SUBSEP comme un string, Et non comme une variable builtin - perdre le double de prix.
  #4 (permalink)  
Old 05-26-2009
pinnacle pinnacle is offline
Registered User
  
 

Date d'inscription: avril 2009
Messages: 182
Citation:
Posté par vgersh99 View Post
vous utilisez un SUBSEP comme un string, Et non comme une variable builtin - perdre le double de prix.

Merci Vgersh99.

jim McNamara --
Citation:
echo "," | od-bc
0000000 054 012
, \ N
0000002
Comma valeur octale 054.
Toute façon subsep fonctionne pour le moment.
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 09:49 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