Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Perl Προγραμματισμός

Πώς να αφαιρέσει Λευκά Lines Από ένα αρχείο σε Perl

Κάνοντας τις κενές γραμμές σε ένα σενάριο Perl που δημιουργείτε είναι ένα εύκολο πράγμα να κάνει . Μπορεί να είναι ότι κάτι δεν πάει καλά με το αρχείο σας ή μπορείτε απλά να πατήσετε το πλήκτρο Enter πάρα πολλές φορές . Δεν έχει σημασία πόσο συμβαίνει αυτό, το ακόλουθο script θα αφαιρέσει αυτές τις κενές γραμμές ( έστω και αν περιέχουν κρυφές χαρακτήρες ) . Αυτή η σύντομη γραφή όχι μόνο αφαιρεί κενές γραμμές, αλλά εξάγει ένα αρχείο Perl που είναι συμπαγές και έτοιμο για χρήση . Οδηγίες
Η 1

Χρησιμοποιήστε την ακόλουθη δέσμη ενεργειών με δική του ή να το προσθέσετε ως μέρος ενός ευρύτερου σεναρίου . . Τύπος σε κάθε γραμμή στα παρακάτω βήματα ακολουθούμενο από το πλήκτρο Enter 2

ανοικτή ΑΡΧΕΙΟ , " filename.ext " ή να πεθάνουν " $ \\ n " ?

Αυτή η γραμμή ανοίγει το αρχείο που έχει τις κενές γραμμές που θέλετε να αφαιρέσετε . Το « ή να πεθάνουν " $ ! \\ N " " την εντολή λέει το σενάριο ότι αν υπάρχει λάθος να σταματήσει το σενάριο και να εκτυπώσετε το σφάλμα .
Εικόνων 3

ανοίξει OUT , ​​" tempfile . $ $ " ή να πεθάνουν " $ \\ n " ? ! .

Αυτή η γραμμή δημιουργεί ένα προσωρινό αρχείο για να αποθηκεύσετε τα αποτελέσματα
Η 4

ενώ ( ) {

Αυτή η γραμμή δημιουργεί την έναρξη της βρόγχο που κάνει όλη τη δουλειά . Η "ενώ" η εντολή λέει το σύστημα που όσο υπάρχει και μια άλλη γραμμή στο αρχείο ο κώδικας μέσα στο { } και πρέπει να εκτελεσθεί .
5

επόμενη if /^ \\ s * $ /?

το κείμενο λέει να δοκιμάσει τη γραμμή ότι το σενάριο αυτή τη στιγμή ψάχνει για να δούμε αν περιέχει μόνο λευκό χώρο χαρακτήρες, όπως μια καρτέλα ή ένα χώρο . Το " /^ \\ s * $ /" είναι η δοκιμή . Αν αυτό είναι το μόνο που αυτή η γραμμή περιέχει στη συνέχεια να εκτελέσει την " επόμενη " εντολή που λέει το σενάριο να πάει πίσω στο " while ( ) {" γραμμή για να πάρει την επόμενη γραμμή στο αρχείο χωρίς τίποτα να συνταχθεί στο προσωρινό αρχείο.
Η 6

εκτύπωση OUT , ​​$ _ ? }

Δεδομένου ότι η " επόμενη " εντολή δεν εκτελέστηκε , τότε η γραμμή δεν πρέπει να είναι κενό . Έτσι , η γραμμή αυτή στέλνει τις πληροφορίες για να εκτυπώσετε το προσωρινό αρχείο . Η " } " αποτελεί μέρος του δοχείου για το βρόχο που δημιουργήθηκε με τη χρήση ", ενώ ". Όταν το σενάριο συναντά , το script θα πάει πίσω στην " ενώ " εντολή και να προσπαθήσει να πάρει μια άλλη γραμμή που πρόκειται να ελεγχθεί . Αν δεν υπάρχουν περισσότερες γραμμές στο αρχείο , τότε ο βρόχος θα πρέπει να αποχωρήσει και το script θα πάει στην επόμενη εντολή
Η 7

κοντά FILE ? . Κλείσει OUT ?

Μετά από εκεί υπάρχουν περισσότερες γραμμές που πρέπει να ελεγχθούν αυτές οι δύο εντολές κοντά τόσο το αρχικό αρχείο και το προσωρινό αρχείο που δημιουργήθηκε , πράγμα που σημαίνει ότι δεν μπορεί πλέον να επεξεργαστεί τα αρχεία .
8

μετονομασία ( " όνομα αρχείου . ext " , " filename.bak " ) ή να πεθάνουν " Σφάλμα στην μετονομασία : $ \\ n " ?

Αυτή η γραμμή μετονομάζει το αρχικό αρχείο για να filename.bak έτσι ώστε να μπορεί να διατηρηθεί , εάν αυτό είναι αναγκαίο και πάλι <. br > Τετάρτη 9

μετονομασία ( " tempfile $ $ . " , " filename.ext " ) ή να πεθάνουν " Σφάλμα στην μετονομασία : ! $ " ?

Αυτή η γραμμή μετονομάζει το προσωρινό αρχείο που δημιουργήσατε . στο όνομα του αρχικού αρχείου σας , αντικαθιστώντας το αρχικό αρχείο με το νέο αρχείο

το ολοκληρωμένο σενάριο θα πρέπει να μοιάζει κάπως έτσι :

ανοικτή ΑΡΧΕΙΟ , " filename.ext " ή να πεθάνουν " $ ! \\ n " ? ανοίξει OUT " . tempfile $ $ " ή να πεθάνουν " $ \\ n " ? ! ενώ ( ) { επόμενη if /^ \\ s * $ /? εκτυπώσετε OUT , ​​$ _ ? } στενή FILE ? κλείστε OUT ? μετονομασία ( " filename.ext " , " filename.bak " ) ή να πεθάνουν " Σφάλμα στην μετονομασία : $ \\ n" ? μετονομασία ( " tempfile $ $ . " , " filename.ext " ) ή να πεθάνουν " Σφάλμα στο μετονομασία : $ " ?
Η
εικόνων !

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα