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

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

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

Μία από τις πιο ισχυρές εντολές Linux είναι grep που σημαίνει "Global Regular Expressions Print".

Μπορείτε να χρησιμοποιήσετε το grep για να αναζητήσετε μοτίβα μέσα στα περιεχόμενα ενός αρχείου ή την έξοδο από μια άλλη εντολή.

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

ps -ef

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

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

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

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

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

ps -ef | grep root

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

grep "Little Red Riding Hood" λίστα βιβλίων

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

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

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

Η εντολή zgrep μπορεί να χρησιμοποιηθεί έναντι αρχείων zip ή αρχείων που έχουν συμπιεστεί χρησιμοποιώντας την εντολή gzip .

Ποιά είναι η διαφορά?

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

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

zgrep filetosearch έκφραση

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

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

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

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

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

Μπορείτε να χρησιμοποιήσετε το zgrep εάν το αρχείο zip περιέχει ένα μόνο αρχείο αλλά τα περισσότερα αρχεία zip περιέχουν περισσότερα από ένα αρχεία.

Η εντολή zipgrep χρησιμοποιείται για την αναζήτηση μοτίβων μέσα σε ένα αρχείο zip.

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

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

Τώρα φανταστείτε ότι αυτά τα δύο αρχεία έχουν συμπιεστεί χρησιμοποιώντας τη μορφή zip σε ένα αρχείο που ονομάζεται media.zip.

Μπορείτε να χρησιμοποιήσετε την εντολή zipgrep για να βρείτε μοτίβα μέσα σε όλα τα αρχεία μέσα στο αρχείο zip. Για παράδειγμα:

zipgrep pattern filename

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

zipgrep "Χάρι Πότερ" media.zip

Η έξοδος θα έχει ως εξής:

βιβλία: Ο Χάρι Πότερ και το Επιμελητήριο Μυστικών

βιβλία: Ο Χάρι Πότερ και το Τάγμα του Φοίνικα

ταινίες: ο Χάρι Πότερ και η αίθουσα των μυστικών

ταινίες: ο Χάρι Πότερ και το ποτήρι της φωτιάς

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

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

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

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

ταινίες: ο Χάρι Πότερ και η αίθουσα των μυστικών

ταινίες: ο Χάρι Πότερ και το ποτήρι της φωτιάς

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

zipgrep "Χάρι Πότερ" media.zip -x βιβλία

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