|
|
|
|
Google Site
|
|||||||
| Φόρουμ | Εγγραφή | Ιστολόγιο | Man Σελίδες | Κανόνες Φόρουμ | Σύνδεσμοι | Λευκώματα | Συχνές ερωτήσεις | Χρήστες | Ημερολόγιο | Αναζήτηση | Η σημερινή Θέσεις | Mark Forums Read |
| UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις Αν δεν είστε σίγουροι από πού να τοποθετήσει ένα UNIX ή Linux ερώτηση, μετά το εδώ. Όλα τα UNIX και Linux Newbies ευπρόσδεκτες!! |
![]() |
|
|
Εργαλεία Θέματος | Αναζήτηση αυτό το νήμα | Βαθμολογήστε Νήμα | Display Modes |
|
|||
|
Επικύρωση των χαρακτήρων διαχωριστούν γραμμές σε ένα αρχείο
Γεια σου, Έχω ένα αρχείο με "|" διαχωρίζονται πεδία. Εάν η γραμμή δεν περιέχει 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 | ||
|
|
|
|||
|
Έχω προετοιμαστεί το σενάριο κελύφους. Ευχαριστώ. 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.. Αιτιολογία: προστέθηκε κώδικα ετικετών |
|
|||
|
Με 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, αν έχετε σφάλματα. |
|
|||
|
Θα μπορούσατε να χρησιμοποιηθεί awk: Κωδικός:
awk -F "|" 'NF!=2' file > output |
| Sponsored Links | ||
|
|
![]() |
| Σελιδοδείκτες |
| Εργαλεία Θέματος | Αναζήτηση αυτό το νήμα |
| Display Modes | Βαθμολογήστε αυτό το νήμα |
|
|
Περισσότερα 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 μμ |