Bash Για κάθε γραμμή σε ένα αρχείο

Bash Each Line File



Ο βρόχος For στο Bash μπορεί να χρησιμοποιηθεί με διαφορετικές παραλλαγές για την εκτέλεση πολλαπλών εργασιών. Μια τέτοια παραλλαγή είναι το Για κάθε γραμμή στο αρχείο που είναι υπεύθυνο για την ανάγνωση όλων των γραμμών σε ένα αρχείο. Σε αυτό το άρθρο, θα μιλήσουμε για τις μεθόδους χρήσης για κάθε γραμμή στο αρχείο στο Bash.

Σημείωση: Οι παρακάτω μέθοδοι έχουν αποδειχθεί στο Ubuntu 20.04. Ωστόσο, θα λειτουργούν επίσης καλά με οποιαδήποτε άλλη διανομή Linux.







Μέθοδοι χρήσης για κάθε γραμμή στο αρχείο στο Bash:

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



Μέθοδος # 1: Για την εμφάνιση των γραμμών ανάγνωσης στο τερματικό:

Για την εμφάνιση των γραμμών ενός αρχείου στο τερματικό χρησιμοποιώντας για κάθε γραμμή στο αρχείο, θα πρέπει να εκτελέσετε τα ακόλουθα βήματα:



Βήμα # 1: Δημιουργία εικονικού αρχείου κειμένου:

Πρώτα απ 'όλα, πρέπει να δημιουργήσετε ένα αρχείο κειμένου με μερικά τυχαία δεδομένα για χάρη της επίδειξης. Αν και, αυτό το αρχείο κειμένου μπορεί να δημιουργηθεί οπουδήποτε, ωστόσο, συνιστάται ιδιαίτερα να το δημιουργήσετε στο φάκελο Αρχική σελίδα. Για να το κάνετε αυτό, κάντε κλικ στο εικονίδιο Διαχείριση αρχείων που επισημαίνεται στην παρακάτω εικόνα:





  • Δημιουργία εικονικού αρχείου κειμένου

    Τώρα κάντε δεξί κλικ οπουδήποτε στο φάκελο Αρχική σελίδα και επιλέξτε την επιλογή Νέο έγγραφο από το μενού που εμφανίζεται. Στη συνέχεια, επιλέξτε την επιλογή Κενό έγγραφο. Μόλις δημιουργηθεί ένα κενό έγγραφο στο φάκελο Αρχική σελίδα, δώστε το όνομα της επιλογής σας για αυτό και στη συνέχεια την επέκταση .txt. Σε αυτό το παράδειγμα, το ονομάσαμε ForEachLine.txt.

  • Δημιουργία εικονικού αρχείου κειμένου2
    Κάντε διπλό κλικ σε αυτό το αρχείο κειμένου για να το ανοίξετε και, στη συνέχεια, πληκτρολογήστε τυχαίο κείμενο σε αυτό, όπως φαίνεται στην παρακάτω εικόνα. Αφού το κάνετε αυτό, αποθηκεύστε αυτό το αρχείο και κλείστε το.



  • Δημιουργία εικονικού αρχείου κειμένου3

    Βήμα # 2: Δημιουργία του Bash Script:

    Τώρα δημιουργήστε ένα αρχείο Bash με τον ίδιο τρόπο που δημιουργήσατε το αρχείο κειμένου στο φάκελο Αρχική σελίδα, εκτός από αυτή τη φορά, πρέπει να δώσετε το όνομά του, ακολουθούμενο από την επέκταση .sh αντί για την επέκταση .txt. Ονομάσαμε το αρχείο Bash ως ForEachLine.sh, αλλά μπορείτε να του δώσετε οποιοδήποτε όνομα της επιλογής σας.
    Δημιουργία του Bash Script

    Ανοίξτε αυτό το αρχείο κάνοντας διπλό κλικ σε αυτό και, στη συνέχεια, πληκτρολογήστε το σενάριο που εμφανίζεται στην παρακάτω εικόνα στο πρόσφατα δημιουργημένο αρχείο Bash. Εδώ, η πρώτη γραμμή είναι εκεί για να δηλώσει ότι το παρακάτω σενάριο είναι σενάριο Bash. Δημιουργήσαμε απλώς μια μεταβλητή με όνομα File και της εκχωρήσαμε το όνομα του αρχείου κειμένου ως τιμή, δηλαδή ForEachLine.txt. Στη συνέχεια, δημιουργήσαμε μια μεταβλητή με το όνομα Lines και την εξισώσαμε σε $ (cat $ File). Εδώ, η εντολή cat διαβάζει τα περιεχόμενα του αρχείου κειμένου μας και όταν προηγείται ένα σύμβολο $, τότε τα περιεχόμενα που διαβάζονται από αυτήν την εντολή θα αποθηκευτούν στη μεταβλητή Γραμμές. Με αυτόν τον τρόπο, όλες οι γραμμές του αρχείου που ονομάζεται ForEachLine.txt θα αποθηκευτούν στη μεταβλητή Γραμμές. Στη συνέχεια, εφαρμόσαμε τον βρόχο For που έχει μια γραμμή επανάληψης. Αυτός ο επαναληπτής λειτουργεί στη μεταβλητή Γραμμές που δημιουργήσαμε παραπάνω και θα επαναλαμβάνεται σε όλες τις γραμμές μία προς μία. Στη συνέχεια, στο τελειωμένο μπλοκ, έχουμε απλώς εμφανίσει όλες αυτές τις γραμμές στο τερματικό χρησιμοποιώντας την εντολή echo.
    Δημιουργία του Bash Script2

    Βήμα # 3: Εκτέλεση του σεναρίου Bash:

    Τώρα ξεκινήστε το τερματικό στο Ubuntu 20.04 και στη συνέχεια εκτελέστε την ακόλουθη εντολή σε αυτό για να εκτελέσετε το σενάριο Bash που δημιουργήθηκε παραπάνω:
    bash ForEachLine.sh
    Εκτέλεση του σεναρίου Bash

    Όταν αυτή η εντολή κάνει το σενάριο bash να εκτελεστεί, τότε θα μπορείτε να δείτε όλες τις γραμμές του αρχείου κειμένου στο τερματικό σας, όπως φαίνεται στην παρακάτω εικόνα:
    Εκτέλεση του σεναρίου Bash

    Μέθοδος # 2: Για αποθήκευση όλων των γραμμών ανάγνωσης σε άλλο αρχείο:

    Σε αυτήν τη μέθοδο, έχουμε τροποποιήσει ελαφρώς το σενάριο Bash που δημιουργήθηκε με την παραπάνω μέθοδο για να αποθηκεύσει όλες τις γραμμές ανάγνωσης σε ένα νέο αρχείο κειμένου αντί να τις εμφανίσει στο τερματικό. Για να το κάνετε αυτό, εκτελέστε τα παρακάτω βήματα:

    Βήμα # 1: Τροποποίηση του σεναρίου Bash που δημιουργήθηκε παραπάνω και εκτέλεσή του:

    Ανοίξτε το σενάριο Bash που έχετε δημιουργήσει με την παραπάνω μέθοδο και τροποποιήστε το όπως φαίνεται στην παρακάτω εικόνα. Προσθέσαμε απλά το σύμβολο >> ακολουθούμενο από ένα νέο όνομα αρχείου μετά την εντολή echo στο τελειωμένο μπλοκ. Αυτή η τροποποίηση θα αποθηκεύσει όλες τις γραμμές ανάγνωσης σε ένα νέο αρχείο κειμένου αντί να τις εμφανίζει στο τερματικό. Τώρα εκτελέστε ξανά το σενάριο Bash μέσω του τερματικού με την εντολή bash που ακολουθείται από το όνομα του αρχείου Bash. Αυτή τη φορά, όταν εκτελείται το σενάριο Bash, θα δημιουργήσει ένα νέο αρχείο κειμένου του οποίου το όνομα σε αυτήν την περίπτωση είναι NewFile.txt.
    Τροποποίηση του σεναρίου Bash που δημιουργήθηκε παραπάνω και εκτέλεσή του1

    Βήμα # 2: Πρόσβαση στο Νέο Δημιουργημένο Αρχείο Κειμένου:

    Για να επαληθεύσετε εάν όλες οι γραμμές ανάγνωσης έχουν αποθηκευτεί στο νέο αρχείο κειμένου, μπορείτε απλά να δείτε τα περιεχόμενα αυτού του αρχείου εκτελώντας την ακόλουθη εντολή στο τερματικό σας:
    cat NewFile.txt
    Πρόσβαση στο Νέο Δημιουργημένο Αρχείο Κειμένου
    Η έξοδος που εμφανίζεται στην παρακάτω εικόνα θα σας διαβεβαιώσει ότι όλες οι γραμμές ανάγνωσης έχουν αντιγραφεί στο νέο αρχείο κειμένου.
    Πρόσβαση στο Νέο Δημιουργημένο Αρχείο Κειμένου2

    Συμπέρασμα:

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