The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
"|" Gescheiden bestand validerings kolesunil Programmeren en Shell Scripting 1 05-27-2008 06:19
Afzonderlijke lijnen in een '|' gescheiden lijn hidnana Programmeren en Shell Scripting 3 03-17-2008 10:16
Vervang een perticular karakter van alle lijnen van een bestand abovais Programmeren en Shell Scripting 1 12-11-2007 05:35
twee regels in een dubbelpunt gescheiden regel ... tonlu Programmeren en Shell Scripting 2 03-30-2005 11:27
karakter validatie ruffenator Hoog Niveau Programmering 9 05-02-2002 03:13 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-27-2008
kolesunil kolesunil is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Posten: 8
Validatie van karakter gescheiden lijnen in een bestand

Hoi,

Ik heb een bestand met "|" gescheiden velden. Als de lijn niet n bevatten "|" (zeg 2), dan is deze lijn in een bestand met de naam invalid_file.txt. Als het deze rij heeft gezet in een bestand genaamd valid_file.txt.

Voor bijvoorbeeld een bestand bevatten volgende rijen:

Code:
Hi|Hello
How|Are|You
Hello

dan
invalid_file.txt moet bevatten:

Code:
How|Are|You
Hello

valid_file.txt moet bevatten:

Code:
Hi|Hello

Alle hulp wordt zeer gewaardeerd.


Bedankt,
SK

Laatst gewijzigd door Yogesh Sawant; op 05.27.2008 08:08.. Reden: code tags toegevoegd
  #2 (permalink)  
Old 05-27-2008
kolesunil kolesunil is offline
Geregistreerde gebruiker
  
 

Join Date: mei 2008
Posten: 8
Ik ben bereid de shell script. Bedankt.

Pls zie de shell script:


Code:
TestValid()
{
while read -r line
do
echo ${line} | awk -F"|" '{
if (NF == sep_num)
   printf("%s\n", $0) >> fname"_valid_rec";
else
   printf("%s\n", $0) >> fname"_invalid_rec"
}' sep_num="${2}" fname="${1}"
done < ${1}
}

while read -r col1 col2
do
if [ -f ${col1}"_valid_rec" ]; then
  rm ${col1}"_valid_rec"
fi
if [ -f ${col1}"_invalid_rec" ]; then
  rm ${col1}"_invalid_rec"
fi
TestValid ${col1} ${col2}
if [ -f ${col1}"_invalid_rec" ]; then
   mv ${col1} ${col1}"_org"
fi
if [ -f ${col1}"_valid_rec" ]; then
   mv ${col1}"_valid_rec" ${col1}
fi
done < para_new.cfg


Laatst gewijzigd door Yogesh Sawant; op 05.27.2008 08:09.. Reden: code tags toegevoegd
  #3 (permalink)  
Old 05-27-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Berichten: 4.345
Met awk U kunt dit doen met een oneliner:


Code:
awk 'BEGIN{FS=OFS="|"}NF==2{print $0 > "valid_file.txt";next}{print $0 > "invalid_file.txt"}' file

Gebruik nawk of / usr/xpg4/bin/awk op Solaris als je fouten.
  #4 (permalink)  
Old 05-27-2008
ripat ripat is online now Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Oct 2006
Locatie: België
Posts: 441
Je zou kunnen hebben gebruikt awk:

Code:
awk -F "|" 'NF!=2' file > output

Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 03:02.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0