Go Back   Το UNIX και Linux Forums > Top Forums > UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις
.
Google Site



UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις Αν δεν είστε σίγουροι από πού να τοποθετήσει ένα UNIX ή Linux ερώτηση, μετά το εδώ. Όλα τα UNIX και Linux Newbies ευπρόσδεκτες!!

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 05-27-2008
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2008
Θέσεις: 8
Επικύρωση των χαρακτήρων διαχωριστούν γραμμές σε ένα αρχείο

Γεια σου,

Έχω ένα αρχείο με "|" διαχωρίζονται πεδία. Εάν η γραμμή δεν περιέχει n "|" (δηλαδή 2), που στη συνέχεια αυτή τη γραμμή σε ένα αρχείο που ονομάζεται invalid_file.txt. Αν το κάνει αυτό τεθεί γραμμή σε ένα αρχείο που ονομάζεται valid_file.txt.

Για παράδειγμα ένα αρχείο περιέχει ακόλουθες σειρές:

Κωδικός:
Hi|Hello
How|Are|You
Hello

μετά
invalid_file.txt θα πρέπει να περιλαμβάνει:

Κωδικός:
How|Are|You
Hello

valid_file.txt θα πρέπει να περιλαμβάνει:

Κωδικός:
Hi|Hello

Κάθε βοήθεια είναι ιδιαίτερα ευπρόσδεκτη.


Ευχαριστώ,
SK

Τελευταία επεξεργασία από Yogesh Sawant? Στις 05-27-2008 08:08 AM.. Αιτιολογία: προστέθηκε κώδικα ετικετών
Sponsored Links
  #2 (Permalink)  
Old 05-27-2008
Εγγεγραμμένος χρήστης
 

Εγγραφή: Μάιος 2008
Θέσεις: 8
Έχω προετοιμαστεί το σενάριο κελύφους. Ευχαριστώ.

Pls δείτε το script κέλυφος:


Κωδικός:
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


Τελευταία επεξεργασία από Yogesh Sawant? Στις 05-27-2008 08:09 AM.. Αιτιολογία: προστέθηκε κώδικα ετικετών
  #3 (Permalink)  
Old 05-27-2008
Συντονιστής
 

Εγγραφή: Φεβρουάριος 2007
Τοποθεσία: Κάτω Χώρες
Δημοσιεύσεις: 4939
Με awk μπορείτε να το κάνετε αυτό με oneliner:


Κωδικός:
awk 'BEGIN{FS=OFS="|"}NF==2{print $0 > "valid_file.txt";next}{print $0 > "invalid_file.txt"}' file

Χρησιμοποίησε nawk ή / usr/xpg4/bin/awk για το Solaris, αν έχετε σφάλματα.
  #4 (Permalink)  
Old 05-27-2008
ripat ripat is offline Forum Advisor  
Εγγεγραμμένος χρήστης
 

Εγγραφή: Οκτώβριος 2006
Τοποθεσία: Βέλγιο
Μηνύματα: 441
Θα μπορούσατε να χρησιμοποιηθεί awk:

Κωδικός:
awk -F "|" 'NF!=2' file > output

Sponsored Links
Closed Thread

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
"|" Διαχωρισμένο αρχείο επικυρώσεις kolesunil Ο προγραμματισμός και η Shell Scripting 1 05-27-2008 06:19 AM
Ξεχωριστές γραμμές σε ένα ενιαίο '|' διαχωρίζονται γραμμή hidnana Ο προγραμματισμός και η Shell Scripting 3 03-17-2008 10:16 AM
Αντικατάσταση ενός perticular χαρακτήρα του συνόλου των γραμμών ενός αρχείου abovais Ο προγραμματισμός και η Shell Scripting 1 12-11-2007 05:35 AM
δύο γραμμές σε μία γραμμή του παχέος εντέρου χωρίζονται ... tonlu Ο προγραμματισμός και η Shell Scripting 2 03-30-2005 11:27 AM
χαρακτήρα της επικύρωσης ruffenator Προγραμματισμός 9 05-02-2002 03:13 μμ



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 09:50 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0