The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Wie ändert man Bereich seperator onthetopo Shell Programmierung und Scripting 2 05-11-2007 12:11 PM
Mit | seperator als in sich firvin UNIX for Dummies Questions & Answers 5 03-28-2006 11:23 AM
Komma seperator premar Shell Programmierung und Scripting 6 02-17-2006 04:16 AM
Wie kann ich mit einem Wort für seperator qrshat SUN Solaris 3 02-10-2006 07:08 AM
Awk Field Seperator Hilfe insania Shell Programmierung und Scripting 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-26-2009
Pinnacle pinnacle is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 182
SUBSEP Seperator Problem mit awk

Der folgende Code entfernt neue Zeile in doppelte Anführungszeichen
Ich vertrete Newline-Zeichen in Anführungszeichen mit 123.
Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "123"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
Hier bin ich mit dem 4. und 5. Feld mit "123" als seperator
Code:
    nawk -F"|" '{print $2,$3,$4"123"$5}' OFS="|" file
Komma ersetzen und seperator "123" mit dem Raum.
Das Problem hierbei ist, wenn die Daten hat "123", die auch mit Leerzeichen ersetzt werden.
Ich möchte nur "123" seperator ersetzt werden.

Code:
    nawk -F"|" '{gsub(",", " ",$3);gsub("123", " ",$3);print}' OFS="|" file
Ich habe versucht mit SUBSEP
Dieser Code anstelle von Wert für SUBSEP "\ 034" seine Einfügen "SUBSEP"

Code:
intermediatenewline_remover () {
    typeset Infile=$1
    nawk -F"," '{ record = record $0
 if ( gsub( /"/, "&", record ) % 2 ) 
 {
     record = record "SUBSEP"
     next
 }
    }
    { 
 print record
 record = ""
    }' Infile
}
und wie sie mit dieser Veränderung in diesem 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
Ort: NM
Posts: 5720
SUBSEP ist ein Komma standardmäßig das ist es, was \ 034 ist. Nutzen Sie einfach ","

Können Sie nicht formatieren Sie Ihre Ausgabe mit printf (Format-String, [Wert], ...);
  #3 (permalink)  
Old 05-26-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Ort: Boston, MA
Posts: 5119
Sie sind mit einem SUBSEP als string, Und nicht als Variable builtin - locker die doppelte Anführungszeichen.
  #4 (permalink)  
Old 05-26-2009
Pinnacle pinnacle is offline
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 182
Zitat:
Zitat von vgersh99 View Post
Sie sind mit einem SUBSEP als string, Und nicht als Variable builtin - locker die doppelte Anführungszeichen.

Dank Vgersh99.

Jim McNamara --
Zitat:
echo "," | od-bc
0000000 054 012
\ N
0000002
Komma oktal Wert ist 054.
Irgendeiner Weise subsep funktioniert.
Danke.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 01:21 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0