Πώς να διαβάσετε το αρχείο γραμμή προς γραμμή στο σενάριο Bash

How Read File Line Line Bash Script



Πώς θα γράφατε ένα σενάριο Bash που μπορεί να επεξεργάζεται ένα αρχείο κειμένου μία γραμμή τη φορά. Πρώτα χρειάζεστε μια σύνταξη και μια προσέγγιση για να διαβάσετε το αρχείο γραμμή προς γραμμή. Οι μέθοδοι για αυτήν την προσέγγιση παρουσιάζονται σε αυτό το σεμινάριο.

Ας υποθέσουμε ότι έχετε ένα όνομα με όνομα company.txt που περιέχει τα ονόματα των εταιρειών. Αυτό το αρχείο περιέχει το ακόλουθο περιεχόμενο.







Company.txt
Samsung
Nokia
LG
Συμφωνία
iphone

Παράδειγμα -1: Ανάγνωση περιεχομένου αρχείου από τη γραμμή εντολών

Ας υποθέσουμε ότι θέλετε να διαβάσετε το αρχείο, company.txt , γραμμή προς γραμμή από τη γραμμή εντολών χωρίς 'Γάτα' εντολή. Εκτελέστε την ακόλουθη εντολή για να εκτελέσετε την εργασία. ενώ ο βρόχος θα διαβάσει κάθε γραμμή από το αρχείο company.txt σε κάθε βήμα και αποθηκεύστε το περιεχόμενο της γραμμής $ line μεταβλητή η οποία θα εκτυπωθεί αργότερα.



$ενώ ανάγνωσηγραμμή;κάνω πέταξε έξω $ line?Έγινε <company.txt



Παράδειγμα -2: Ανάγνωση περιεχομένου αρχείου με χρήση σεναρίου

Δημιουργήστε ένα αρχείο bash και προσθέστε τον ακόλουθο κώδικα για να διαβάσετε το περιεχόμενο ενός συγκεκριμένου αρχείου. Εδώ, αποθηκεύεται ένα υπάρχον όνομα αρχείου $ όνομα αρχείου μεταβλητή και $ n η μεταβλητή χρησιμοποιείται για να διατηρήσει την τιμή του αριθμού γραμμής αυτού του αρχείου. Όπως το προηγούμενο παράδειγμα, ενώ Ο βρόχος χρησιμοποιείται για την ανάγνωση αυτού του αρχείου με αριθμό γραμμής.





#!/bin/bash
όνομα αρχείου='company.txt'
ν=1
ενώ ανάγνωσηγραμμή;κάνω
# ανάγνωση κάθε γραμμής
πέταξε έξω «Γραμμή αρ.$ n:$ line'
ν= $((n+1))
Έγινε < $ όνομα αρχείου

Εκτελέστε την ακόλουθη εντολή για να εκτελέσετε το σενάριο.

$κτυπώ δυνατάreadfile1.sh

Τρέξιμο 'Γάτα' εντολή με company.txt αρχείο για εμφάνιση του αρχικού περιεχομένου του company.txt αρχείο.



$ cat company.txt

Παράδειγμα -3: Μετάβαση ονόματος αρχείου από τη γραμμή εντολών και ανάγνωση του αρχείου

Δημιουργήστε ένα αρχείο bash και προσθέστε το ακόλουθο σενάριο. Αυτό το σενάριο θα πάρει το όνομα αρχείου από το όρισμα της γραμμής εντολών. Η πρώτη τιμή ορίσματος διαβάζεται από τη μεταβλητή $ 1 η οποία θα περιέχει το όνομα αρχείου για ανάγνωση. Εάν το αρχείο υπάρχει στην τρέχουσα τοποθεσία, τότε ενώ ο βρόχος θα διαβάσει το αρχείο γραμμή προς γραμμή όπως το προηγούμενο παράδειγμα και θα εκτυπώσει το περιεχόμενο του αρχείου.

#!/bin/bash
όνομα αρχείου=$ 1
ενώ ανάγνωσηγραμμή;κάνω
# ανάγνωση κάθε γραμμής
πέταξε έξω $ line
Έγινε < $ όνομα αρχείου

Εκτελέστε το παραπάνω σενάριο με υπάλληλος.txt αρχείο ως τιμή ορίσματος. Η έξοδος θα εμφανίσει το περιεχόμενο του υπάλληλος.txt αρχείο αφαιρώντας επιπλέον χώρο. Μπορείτε να εμφανίσετε το αρχικό περιεχόμενο του υπάλληλος.txt αρχείο χρησιμοποιώντας 'Γάτα' εντολή.

$ bash readfile2.txt staff.txt
$ cat staff.txt

Παράδειγμα - 4: Ανάγνωση αρχείου παραλείποντας την απόσυρση από πίσω

Εάν θέλετε να διαβάσετε κάθε γραμμή ενός αρχείου παραλείποντας την έξοδο backslash, τότε πρέπει να το χρησιμοποιήσετε '-R' επιλογή με εντολή ανάγνωσης ενώ βρόχος.

#!/bin/bash
ενώ ανάγνωση -rγραμμή;κάνω
# Διαβάζοντας κάθε γραμμή
πέταξε έξω $ line
Έγινε <company2.txt

Δημιουργήστε ένα αρχείο με όνομα company2.txt με backslash και εκτελέστε την ακόλουθη εντολή για να εκτελέσετε το σενάριο. Η έξοδος θα εμφανίσει το περιεχόμενο του αρχείου χωρίς καμία ανάστροφη ανατροπή.

$κτυπώ δυνατάreadfile3.sh

Θα χρειαστεί να διαβάσετε το αρχείο για πολλούς σκοπούς προγραμματισμού. Για παράδειγμα, μπορείτε να αναζητήσετε ή να αντιστοιχίσετε οποιοδήποτε συγκεκριμένο περιεχόμενο εύκολα από οποιοδήποτε αρχείο διαβάζοντας κάθε γραμμή ξεχωριστά. Έτσι, είναι ένα ουσιαστικό καθήκον για κάθε προγραμματισμό. Ορισμένα απλά παραδείγματα ανάγνωσης αρχείου σε σενάριο bash εμφανίζονται σε αυτό το σεμινάριο. Αυτά θα σας βοηθήσουν να αποκτήσετε την ιδέα της ανάγνωσης περιεχομένου αρχείου γραμμή προς γραμμή χρησιμοποιώντας το βρόχο σε σενάριο bash και να εφαρμόσετε στο σενάριό σας πιο αποτελεσματικά. Για περισσότερες πληροφορίες δείτε το βίντεο !