Πώς να χρησιμοποιήσετε τις εντολές zgrep και zipgrep για αναζήτηση συμπιεσμένων αρχείων

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

Πώς να αναζητήσετε και να φιλτράρετε τα αποτελέσματα χρησιμοποιώντας την εντολή grep

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

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

ps -ef

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

Εντολή Linux ps

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

ps -ef | περισσότερο. 

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

Η εντολή grep καθιστά δυνατό το φιλτράρισμα των αποτελεσμάτων με βάση τα κριτήρια που στέλνετε σε αυτήν. Για παράδειγμα, για αναζήτηση όλων των διεργασιών με το UID ρυθμισμένο σε ρίζα, εκτελέστε την ακόλουθη εντολή:

ps -ef | ρίζα grep. 
Linux ps με grep

Η εντολή grep λειτουργεί επίσης σε αρχεία. Φανταστείτε ότι έχετε ένα αρχείο που περιέχει μια λίστα με τίτλους βιβλίων και θέλετε να δείτε αν το αρχείο περιέχει Κοκκινοσκουφίτσα. Μπορείτε να κάνετε αναζήτηση στο αρχείο ως εξής:

grep βιβλιοθήκη "Κοκκινοσκουφίτσα". 
Αρχείο grep Linux

ο εντολή grep είναι ισχυρό και πολλοί χρήσιμοι διακόπτες μπορούν να χρησιμοποιηθούν μαζί του.

Πώς να αναζητήσετε συμπιεσμένα αρχεία χρησιμοποιώντας την εντολή zgrep

Ένα ελάχιστα γνωστό αλλά πολύ ισχυρό εργαλείο είναι το zgrep. Η εντολή zgrep σάς επιτρέπει να αναζητήσετε τα περιεχόμενα ενός συμπιεσμένου αρχείου χωρίς πρώτα να εξαγάγετε τα περιεχόμενα. Η εντολή zgrep μπορεί να χρησιμοποιηθεί σε αρχεία zip ή αρχεία συμπιεσμένα χρησιμοποιώντας το εντολή gzip.

Ποιά είναι η διαφορά? Ένα αρχείο zip μπορεί να περιέχει πολλά αρχεία, ενώ ένα αρχείο που συμπιέζεται χρησιμοποιώντας την εντολή gzip περιέχει μόνο το αρχικό αρχείο.

Για να αναζητήσετε κείμενο σε ένα αρχείο συμπιεσμένο με gzip, πληκτρολογήστε την ακόλουθη εντολή:

zgrep έκφραση filetosearch. 

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

zgrep "Κοκκινοσκουφίτσα" bookslist.gz. 
Linux zgrep

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε έκφραση και όλες τις διαθέσιμες ρυθμίσεις με την εντολή grep ως μέρος της εντολής zgrep.

Πώς να αναζητήσετε συμπιεσμένα αρχεία χρησιμοποιώντας την εντολή zipgrep

Η εντολή zipgrep χρησιμοποιείται για την αναζήτηση μοτίβων μέσα σε ένα αρχείο zip. Η εντολή zgrep λειτουργεί καλά με αρχεία που είναι συμπιεσμένα με χρήση gzip, αλλά δεν λειτουργεί τόσο καλά σε αρχεία που συμπιέζονται χρησιμοποιώντας το βοηθητικό πρόγραμμα zip. Μπορείτε να χρησιμοποιήσετε το zgrep εάν το αρχείο zip περιέχει ένα μόνο αρχείο, αλλά τα περισσότερα αρχεία zip περιέχουν περισσότερα από ένα αρχεία.

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

  • Ο Χάρι Πότερ και η Κάμαρα με τα Μυστικά
  • Δαμασμός της Ωραίας
  • των ποντικιών και των ανδρών
  • The Hitchhikers Guide to the Galaxy
  • Ο Χάρι Πότερ και το Τάγμα του Φοίνικα

Επίσης, φανταστείτε ότι έχετε ένα αρχείο που ονομάζεται κινηματογράφος με τους παρακάτω τίτλους:

  • Το Matrix
  • Ο Χάρι Πότερ και η Κάμαρα με τα Μυστικά
  • Ο Χάρι Πότερ και το Κύπελλο της Φωτιάς
  • Star Wars: A New Hope

Τώρα, φανταστείτε ότι αυτά τα δύο αρχεία έχουν συμπιεστεί χρησιμοποιώντας τη μορφή zip σε ένα αρχείο που ονομάζεται media.zip. Μπορείτε να χρησιμοποιήσετε την εντολή zipgrep για να βρείτε μοτίβα στα αρχεία μέσα στο αρχείο zip. Για παράδειγμα:

όνομα αρχείου μοτίβου zipgrep. 

Για να βρείτε όλα τα περιστατικά του Χάρρυ Πόττερ, χρησιμοποιήστε την ακόλουθη εντολή:

zipgrep "Harry Potter" media.zip. 

Η έξοδος είναι η εξής:

βιβλία: Ο Χάρι Πότερ και η Κάμαρα των Μυστικών
βιβλία: Ο Χάρι Πότερ και το Τάγμα του Φοίνικα
ταινίες: Ο Χάρι Πότερ και η Κάμαρα με τα Μυστικά
ταινίες: Ο Χάρι Πότερ και το Κύπελλο της Φωτιάς.
Linux zipgrep

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

Εάν θέλετε να κάνετε αναζήτηση μόνο σε συγκεκριμένα αρχεία μέσα στο αρχείο zip, καθορίστε τα αρχεία για αναζήτηση στο αρχείο zip ως μέρος της εντολής, ως εξής:

zipgrep "Harry Potter" media.zip ταινίες. 

Η έξοδος είναι η εξής:

ταινίες: Ο Χάρι Πότερ και η Κάμαρα με τα Μυστικά
ταινίες: Ο Χάρι Πότερ και το Κύπελλο της Φωτιάς.
Αναζήτηση zipgrep Linux κατά αρχείο

Εάν θέλετε να κάνετε αναζήτηση σε όλα τα αρχεία εκτός από ένα, χρησιμοποιήστε την ακόλουθη εντολή:

zipgrep "Harry Potter" media.zip -x βιβλία. 

Αυτό παράγει την ίδια έξοδο με πριν καθώς αναζητά όλα τα αρχεία μέσα media.zip εκτός από βιβλία.