Μάθετε πώς να χωρίζετε ένα μεγάλο αρχείο σε πολλά μικρότερα αρχεία χρησιμοποιώντας την εντολή split στο Linux.
Το Linux παρέχει ένα ευρύ φάσμα εντολών για χειρισμό και επεξεργασία κειμένου, συμπεριλαμβανομένης της εντολής split. Με το split, μπορείτε εύκολα να χωρίσετε μεγάλα αρχεία σε μικρότερα ή να εξαγάγετε συγκεκριμένα τμήματα ενός αρχείου με βάση ορισμένα κριτήρια.
Ας εξερευνήσουμε πώς να χρησιμοποιήσετε την εντολή split για να χωρίσετε αρχεία στο Linux. Είτε θέλετε να εξαγάγετε συγκεκριμένα τμήματα ενός μεγάλου αρχείου είτε να χωρίσετε ένα αρχείο σε μικρότερα κομμάτια, η εντολή split μπορεί να σας βοηθήσει να πετύχετε τους στόχους σας με ευκολία.
Τι είναι η εντολή split;
Η εντολή split είναι ένα δημοφιλές εργαλείο γραμμής εντολών Linux που δημιουργήθηκε από τους Torbjorn Granlund και Richard M. Stallman. Όπως υποδηλώνει το όνομα, η εντολή split χρησιμοποιείται για να χωρίσει ένα αρχείο σε μικρότερα υπο-αρχεία.
Αυτή η εντολή είναι χρήσιμη για τη διαχείριση μεγάλων αρχείων ή κατά τη μεταφορά αρχείων μέσω δικτύων με περιορισμένο εύρος ζώνης. Σπάζοντας ένα μεγάλο αρχείο σε μικρότερα μέρη, μπορείτε να μειώσετε τον όγκο των δεδομένων που πρέπει να μεταφερθούν ή να αποθηκευτούν ανά πάσα στιγμή. Μπορείτε επίσης να αντιστρέψετε την εντολή split για να συνδυάσετε πολλά αρχεία σε ένα.
Η διαίρεση της σύνταξης εντολών
Η βασική σύνταξη της εντολής split είναι:
διαχωρισμός [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΙΟ] [ΠΡΟΘΕΜΑ]
- [ΕΠΙΛΟΓΗ]: Η εντολή split έχει διαφορετικές επιλογές για να αποφασίσετε πώς θέλετε να χωριστεί το αρχείο και άλλες συγκεκριμένες δυνατότητες που μπορεί να σας ενδιαφέρουν να προσθέσετε.
- [ΑΡΧΕΙΟ]: Αυτή είναι η διαδρομή προς το αρχείο που θέλετε να χωρίσετε.
- [ΠΡΟΘΕΜΑ]: Αυτό αναφέρεται στο πρόθεμα των υποαρχείων.
Πώς να χρησιμοποιήσετε την εντολή split
Μπορείτε να χρησιμοποιήσετε την εντολή split για να διαιρέσετε ένα μεγάλο αρχείο σε μικρότερα αρχεία κατά μέγεθος ή μήκος. Μπορείτε ακόμη να επιλέξετε τον συγκεκριμένο αριθμό μικρότερων αρχείων που θέλετε.
Για επίδειξη, θα χρησιμοποιήσουμε ένα αρχείο κειμένου με το όνομα largefile.txt. Επιλέξτε ένα αρχείο κειμένου με πολλές γραμμές και αρκετά μεγάλο μέγεθος για αυτό το σεμινάριο. Εάν δεν το έχετε, μπορείτε να το χρησιμοποιήσετε ένα πρόγραμμα επεξεργασίας κειμένου Linux ή την εντολή cat για επικόλληση σε μεγάλο κείμενο και αποθήκευση.
Διαχωρίστε μεγάλα αρχεία με βάση τον αριθμό των γραμμών
Μπορείτε να χρησιμοποιήσετε την εντολή split για να διαιρέσετε ένα μεγάλο αρχείο σε μικρότερα αρχεία με βάση έναν συγκεκριμένο αριθμό γραμμών ανά αρχείο. Εδώ είναι η σύνταξη:
split -l [αριθμός γραμμών] [αρχείο εισόδου] [πρόθεμα αρχείου εξόδου]
Για παράδειγμα, μπορεί να θέλετε να χωρίσετε ένα αρχείο με 210 γραμμές σε αρχεία των 50 γραμμών το καθένα. θα έπαιρνες πέντε μικρότερα αρχεία. Τα πρώτα τέσσερα αρχεία θα έχουν 50 γραμμές το καθένα και το πέμπτο αρχείο θα περιέχει μόλις 10 γραμμές.
Για να χωρίσετε ένα αρχείο που ονομάζεται "largefile.txt" σε μικρότερα αρχεία των 100 γραμμών το καθένα, εκτελέστε αυτήν την εντολή:
split -l 100 smallfile.txt smallfile
Καταχωρίστε τα περιεχόμενα του καταλόγου χρησιμοποιώντας την εντολή ls, και θα βλέπατε τα διαχωρισμένα αρχεία.
Διαχωρίστε μεγάλα αρχεία με βάση το μέγεθος
Μπορείτε επίσης να χρησιμοποιήσετε την εντολή split για να χωρίσετε ένα μεγάλο αρχείο σε μικρότερα αρχεία με βάση ένα συγκεκριμένο μέγεθος αρχείου. Εδώ είναι η βασική σύνταξη:
split -b [μέγεθος σε byte] [αρχείο εισόδου] [πρόθεμα αρχείου εξόδου]
Διαχωρίστε το largefile.txt σε μικρότερα αρχεία των 300 byte το καθένα εκτελώντας αυτήν την εντολή:
split -b 300 smallfile.txt smallfile
Ιδού το αποτέλεσμα:
Διαχωρίστε ένα μεγάλο αρχείο σε έναν συγκεκριμένο αριθμό αρχείων
Μπορείτε επίσης να χωρίσετε ένα αρχείο σε σταθερό αριθμό αρχείων, ανεξάρτητα από τον αριθμό των αρχείων και των byte σε αυτά. Αυτό το κάνετε χρησιμοποιώντας το -n επιλογή. Εδώ είναι η σύνταξη:
split -n [αριθμός αρχείων] [αρχείο εισόδου] [πρόθεμα αρχείου εξόδου]
Για να χωρίσετε ένα μεγάλο αρχείο σε πέντε μέρη, εκτελέστε αυτήν την εντολή:
split -n 5 smallfile.txt smallfile
Το αποτέλεσμα πρέπει να μοιάζει με αυτό:
Αλλάξτε το μήκος του επιθήματος των Split Files
Όπως ίσως έχετε παρατηρήσει, το προεπιλεγμένο μήκος των επιθημάτων που επισυνάπτονται στο όνομα του αρχείου εξόδου είναι δύο. Για παράδειγμα, smallfileαα, μικρό αρχείοαβ, μικρό αρχείομετα Χριστον, και τα λοιπά.
Για να αλλάξετε το μήκος του επιθέματος, χρησιμοποιείτε το -ένα επιλογή. Ακολουθεί η σύνταξη για την αλλαγή του μήκους του επιθήματος:
split -a [μήκος επιθήματος] [αρχείο εισόδου] [πρόθεμα αρχείου εξόδου]
Μπορείτε να χρησιμοποιήσετε αυτήν την επιλογή μήκους επιθήματος μαζί με άλλες εντολές διαχωρισμού. Για να χωρίσετε το αρχείο largefile.txt σε 10 μέρη με μήκος κατάληξης 4, εκτελέστε αυτήν την εντολή:
split -a 4 -n 10 smallfile.txt
Όταν αναφέρετε τα περιεχόμενα του καταλόγου, η έξοδος θα πρέπει να μοιάζει με αυτό:
Συγχώνευση πολλών αρχείων με τη γάτα
Τα καλά νέα είναι ότι μπορείτε πάντα να συγχωνεύσετε τα διαχωρισμένα αρχεία μαζί για να δημιουργήσετε το αρχικό αρχείο. Για να συγχωνεύσετε τα διαχωρισμένα αρχεία στο αρχικό αρχείο, χρησιμοποιήστε την εντολή cat. Ακολουθεί η σύνταξη για να γίνει αυτό:
cat [διαχωρισμός αρχείων] > [αρχείο εξόδου]
Όταν χρησιμοποιείτε την εντολή cat για τη συγχώνευση διαχωρισμένων αρχείων, είναι σημαντικό να καθορίσετε τη σωστή σειρά των διαχωρισμένων αρχείων.
Η εντολή cat απλώς συνενώνει τα αρχεία με την καθορισμένη σειρά, επομένως εάν τα αρχεία δεν είναι στη σωστή σειρά, το συγχωνευμένο αρχείο θα καταστραφεί.
Σε ένα σενάριο όπου έχετε πολλά διαχωρισμένα αρχεία, για παράδειγμα, εκατό διαχωρισμένα αρχεία, θα ήταν δύσκολο να πληκτρολογήσετε κάθε αρχείο το ένα μετά το άλλο και με τη σωστή σειρά.
Εδώ μπαίνει το πρόθεμα. Απλώς η προσθήκη ενός αστερίσκου (*) σάς επιτρέπει να συγχωνεύσετε όλα τα αρχεία που ξεκινούν με αυτό το πρόθεμα.
πρόθεμα cat* > [αρχείο εξόδου]
Ακολουθεί ένα παράδειγμα εντολής που συγχωνεύει διαχωρισμένα αρχεία μικροφιλεαα, smallfileab, smallfileac, και smallfilead σε ένα μόνο αρχείο που ονομάζεται bigfile.txt:
cat smallfile* > bigfile.txt
Αυτή η εντολή θα συνδέσει τα περιεχόμενα όλων των διαχωρισμένων αρχείων που ταιριάζουν με το μοτίβο μικρό αρχείο* και ανακατευθύνετε την έξοδο σε ένα νέο αρχείο που ονομάζεται bigfile.txt. Θα παραθέσει επίσης τα διαχωρισμένα αρχεία με φυσική σειρά με βάση το όνομά τους, το οποίο θα πρέπει να είναι η σωστή σειρά για τη συγχώνευση.
Η εντολή split είναι μόνο ένα από τα πολλά εργαλεία που παρέχει το Linux για να σας βοηθήσει να διαχειριστείτε αποτελεσματικά μεγάλα αρχεία, χωρίζοντάς τα σε μικρότερα, πιο διαχειρίσιμα κομμάτια.
Κατακτώντας τις εντολές επεξεργασίας κειμένου Linux, μπορείτε να εξοικονομήσετε χρόνο και πόρους και να γίνετε πιο αποτελεσματικοί.