Θέλετε να βρείτε ένα αρχείο του οποίου το περιεχόμενο είναι ένα συγκεκριμένο κείμενο;

Κούκλα με μεγεθυντικό φακό

Ορισμένοι με ρώτησαν σχετικά με μια λειτουργία που διαθέτουν οι πιο πρόσφατες εκδόσεις των Microsoft Windows στην οποία μπορείτε να χρησιμοποιήσετε τη μηχανή αναζήτησής του για να βρείτε όχι μόνο αρχεία με ένα συγκεκριμένο όνομα, αλλά μπορείτε επίσης να συμπεριλάβετε ένα κείμενο για εύρεση αρχεία που περιλαμβάνουν το εν λόγω κείμενο, όπως αρχεία PDF, έγγραφα του Microsoft Office, αρχεία κειμένου .txt κ.λπ. Λοιπόν, θα πρέπει να γνωρίζετε ότι στη διανομή GNU/Linux μπορείτε να το κάνετε αυτό και πολλά άλλα.

Έχουμε ήδη κάνει μικρά σεμινάρια στο LxA για εντολές όπως find, whereis, locate κ.λπ. Τώρα θα σας πούμε έναν τρόπο να αναδημιουργήσετε αυτήν τη λειτουργικότητα για την οποία μίλησα στην πρώτη παράγραφο από την κονσόλα σας. Όπως είπα το Linux είναι εξαιρετικά ευέλικτο και έχει διάφορα εργαλεία για να βρείτε πράγματα, εδώ θα σας δείξουμε μερικούς από τους διαφορετικούς τρόπους που μπορείτε να χρησιμοποιήσετε για να αναζητήσετε αρχεία στα οποία βρίσκεται ένα συγκεκριμένο κείμενο ή συμβολοσειρά: αναζήτηση για μια λέξη ή συμβολοσειρά σε αρχεία σε έναν κατάλογο που μπορείτε να χρησιμοποιήσετε:

grep -s hola /home/*

grep -R hola /home/*

grep -Rw hola /home/*

Στο προηγούμενο παράδειγμα, η λέξη "γεια" θα αναζητηθεί στον κατάλογο /home σε όλα τα υπάρχοντα αρχεία. Στην πρώτη περίπτωση, με την επιλογή -s εκτελείται μη αναδρομική αναζήτηση, ενώ με -R γίνεται αναδρομική, επομένως αν υπάρχουν υποκατάλογοι μέσα θα ψάξει και εκεί... Προσοχή όμως, αυτό θα αναζητούσε όλο το περιεχόμενο με αυτή η συμβολοσειρά «γεια», επομένως εάν υπάρχει μια φράση ή λέξη όπως «γεια» θα τη θεωρούσε επίσης έγκυρη και θα έδειχνε τα αρχεία που το περιέχουν, δηλαδή δεν αναζητά τη συγκεκριμένη λέξη με συγκεκριμένο τρόπο. Για να το κάνετε συγκεκριμένο, μπορείτε να χρησιμοποιήσετε την τρίτη επιλογή.

Να θυμάστε ότι θα κάνει αναζητήσεις με διάκριση πεζών-κεφαλαίων, επομένως στα προηγούμενα παραδείγματα πράγματα όπως Hello, HELLO, hello, κ.λπ. θα αγνοηθούν. Για να κάνετε ένα αναζήτηση και παράβλεψη πεζών-κεφαλαίων, τότε μπορείτε να χρησιμοποιήσετε την επιλογή -i.

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

grep -Rlv hola /home/*

grep --exclude-dir= /home/Desktop -Rlv /home/*

Στο πρώτο παράδειγμα θα εμφανίσει ολόκληρη τη λίστα των αρχείων που δεν περιέχουν τη λέξη "γεια", ενώ στη δεύτερη περίπτωση θα έκανε το ίδιο αλλά τα αρχεία που βρέθηκαν εξαιρούνται φιλοξενείται στο /home/Desktop… Παρεμπιπτόντως, αυτή η επιλογή –exclude-dir= μπορεί επίσης να χρησιμοποιηθεί στα πρώτα παραδείγματα…


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Τιάγκο Βίγκο dijo

    Ευχαριστω για ΑΥΤΟ.