Αντιμετώπιση προβλημάτων

Γνώση Υπολογιστών >> Αντιμετώπιση προβλημάτων >  >> PC Αντιμετώπιση προβλημάτων

31 Χρήσιμα παραδείγματα εντολών grep σε Linux/Unix (Πώς να χρησιμοποιήσετε την εντολή)

Ακολουθούν 31 χρήσιμα παραδείγματα εντολών grep σε Linux/Unix μαζί με τις επεξηγήσεις και τα σενάρια χρήσης τους:

1. Αναζητήστε ένα συγκεκριμένο κείμενο σε ένα αρχείο:

```

grep όνομα αρχείου "search-text".

```

Επεξήγηση :Εκτυπώνει τις γραμμές που ταιριάζουν με το "search-text" από το καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep "error" /var/log/system.log

```

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

2. Αναζητήστε ένα συγκεκριμένο κείμενο αναδρομικά σε έναν κατάλογο:

```

grep -r "search-text" όνομα καταλόγου

```

Επεξήγηση :Εκτελεί μια αναδρομική αναζήτηση για "search-text" εντός του καθορισμένου καταλόγου και όλων των υποκαταλόγων του.

Παράδειγμα :

```

grep -r "configuration" /etc/

```

Αυτή η εντολή αναζητά αναδρομικά όλα τα αρχεία που περιέχουν τη λέξη "configuration" στον κατάλογο "/etc/".

3. Αναζητήστε γραμμές που ταιριάζουν με μια τυπική έκφραση:

```

grep -E όνομα αρχείου "regex-pattern".

```

Επεξήγηση :Χρησιμοποιεί κανονικές εκφράσεις για την αναζήτηση γραμμών που ταιριάζουν με το καθορισμένο μοτίβο.

Παράδειγμα :

```

grep -E "^[0-9]{4}-[0-1]{1}[0-9]{1}-[0-3]{1}[0-9]{1} .*" πρόσβαση.log

```

Αυτή η εντολή χρησιμοποιεί μια τυπική έκφραση για να βρει όλες τις γραμμές στο αρχείο "access.log" που ξεκινούν με μια μορφή ημερομηνίας (ΕΕΕΕ-ΜΜ-ΗΗ ακολουθούμενη από ώρα).

4. Μετρήστε τον αριθμό των γραμμών που ταιριάζουν:

```

Όνομα αρχείου grep -c "search-text".

```

Επεξήγηση :Παρέχει έναν αριθμό των γραμμών που ταιριάζουν με το "search-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -c "αποτυχία" /var/log/auth.log

```

Αυτή η εντολή μετράει πόσες φορές εμφανίζεται η λέξη "αποτυχία" στο αρχείο "/var/log/auth.log".

5. Εκτυπώστε τις αντίστοιχες γραμμές με αριθμούς γραμμών:

```

grep -n όνομα αρχείου "search-text".

```

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

Παράδειγμα :

```

grep -n "προειδοποίηση" /var/log/messages

```

Αυτή η εντολή εμφανίζει τους αριθμούς γραμμών όλων των γραμμών που περιέχουν τη λέξη "warning" στο αρχείο "/var/log/messages".

6. Αγνοήστε την ευαισθησία πεζών-κεφαλαίων στην αναζήτηση:

```

grep -i όνομα αρχείου "search-text".

```

Επεξήγηση :Πραγματοποιεί αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων για "search-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -i "Σφάλμα" /var/log/system.log

```

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

7. Εξαίρεση γραμμών που αντιστοιχούν σε συγκεκριμένο κείμενο:

```

Όνομα αρχείου grep -v "exclude-text".

```

Επεξήγηση :Εκτυπώνει μόνο τις γραμμές που δεν ταιριάζουν με το "exclude-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -v "INFO" /var/log/messages | grep "ΣΦΑΛΜΑ"

```

Αυτή η εντολή εξαιρεί πρώτα τις γραμμές που περιέχουν "INFO" από το αρχείο "/var/log/messages" και στη συνέχεια αναζητά γραμμές που περιέχουν "ERROR" στην υπόλοιπη έξοδο.

8. Αναζητήστε ένα μοτίβο και εκτυπώστε το προηγούμενο πλαίσιο:

```

grep -B "num" "search-text" όνομα αρχείου

```

Επεξήγηση :Εκτυπώνει γραμμές "num" πριν από το αντίστοιχο "search-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -B 3 "error_message" /var/log/syslog

```

Αυτή η εντολή εμφανίζει τις 3 γραμμές πριν από κάθε γραμμή που περιέχει "error_message" στο αρχείο καταγραφής συστήματος.

9. Αναζητήστε ένα μοτίβο και εκτυπώστε το ακόλουθο πλαίσιο:

```

grep -Ένα όνομα αρχείου "num" "search-text".

```

Επεξήγηση :Εκτυπώνει γραμμές "num" μετά το αντίστοιχο "search-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -A 5 "successful_login" /var/log/auth.log

```

Αυτή η εντολή εκτυπώνει 5 γραμμές μετά από κάθε γραμμή που περιέχει "successful_login" στο αρχείο καταγραφής ελέγχου ταυτότητας.

10. Εκτυπώστε τις αντίστοιχες γραμμές με ονόματα αρχείων:

```

grep -H "search-text" *

```

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

Παράδειγμα :

```

grep -H "warning" /var/log/*.log

```

Αυτή η εντολή αναζητά τη λέξη "warning" σε όλα τα αρχεία καταγραφής που βρίσκονται στον κατάλογο "/var/log/" και εκτυπώνει τις αντίστοιχες γραμμές μαζί με τα ονόματα αρχείων.

11. Εκτυπώστε μόνο το αντίστοιχο τμήμα των γραμμών:

```

grep -o όνομα αρχείου "matching-pattern".

```

Επεξήγηση :Εκτυπώνει μόνο το τμήμα των γραμμών που ταιριάζει με το καθορισμένο "matching-pattern" στο συγκεκριμένο όνομα αρχείου.

Παράδειγμα :

```

grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9] ]\{1,3\}" access.log

```

Αυτή η εντολή εξάγει και εκτυπώνει μόνο τις διευθύνσεις IP από τις γραμμές στο αρχείο "access.log".

12. Χρησιμοποιήστε τον τελεστή OR για αναζήτηση πολλαπλών μοτίβων:

```

grep -E όνομα αρχείου "pattern1|pattern2".

```

Επεξήγηση :Αναζήτηση για γραμμές που ταιριάζουν είτε με το "pattern1" ή "pattern2" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -E "αποτυχία|επιτυχής" /var/log/auth.log

```

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

13. Τερματίστε μετά τον πρώτο αγώνα:

```

grep -m 1 όνομα αρχείου "search-text".

```

Επεξήγηση :Σταματά την αναζήτηση και εκτυπώνει μόνο την πρώτη γραμμή που ταιριάζει στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -m 1 "κρίσιμο σφάλμα" /var/log/messages

```

Αυτή η εντολή εκτυπώνει μόνο την πρώτη γραμμή που περιέχει το κείμενο "κρίσιμο σφάλμα" στο αρχείο "/var/log/messages".

14. Εκτυπώστε τον αριθμό γραμμής της πρώτης γραμμής που ταιριάζει:

```

Όνομα αρχείου grep -b "search-text".

```

Επεξήγηση :Εμφανίζει τη μετατόπιση byte της πρώτης γραμμής που ταιριάζει στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -b "διακομιστής εκκίνησης" /var/log/syslog

```

Αυτή η εντολή εκτυπώνει τη θέση byte στο αρχείο όπου βρίσκεται η γραμμή "Starting Server".

15. Αναζήτηση σε συμπιεσμένα αρχεία (.gz):

```

zgrep "search-text" *.gz

```

Επεξήγηση :Επιτρέπει την αναζήτηση σε συμπιεσμένα αρχεία ".gz" χωρίς να χρειάζεται να τα αποσυμπιέσετε πρώτα.

Παράδειγμα :

```

zgrep "error_message" /var/log/*.gz

```

Αυτή η εντολή αναζητά το "error_message" σε όλα τα αρχεία ".gz" που βρίσκονται στον κατάλογο "/var/log/" χωρίς να τα αποσυμπιέσει.

16. Εκτυπώστε το αντίστοιχο όνομα αρχείου εάν υπάρχει αντιστοιχία:

```

grep -l "search-text" *

```

Επεξήγηση :Εμφανίζει τα ονόματα αρχείων που περιέχουν το "search-text" χωρίς να εκτυπωθούν οι πραγματικές γραμμές που ταιριάζουν.

Παράδειγμα :

```

grep -l "κρίσιμο σφάλμα" /var/log/*.log

```

Αυτή η εντολή παραθέτει όλα τα αρχεία καταγραφής στον κατάλογο "/var/log/" που περιέχουν το κείμενο "κρίσιμο σφάλμα".

17. Αντιστρέψτε την αντίστοιχη συμπεριφορά:

```

Όνομα αρχείου grep -v "search-text".

```

Επεξήγηση :Εκτυπώνει μόνο τις γραμμές που δεν ταιριάζουν με το "search-text" στο καθορισμένο όνομα αρχείου.

Παράδειγμα :

```

grep -v "200 OK" access.log

```

Αυτή η εντολή εκτυπώνει όλες τις γραμμές εκτός από αυτές που περιέχουν "200 OK" στο αρχείο "access.log".

18. Εκτυπώστε μόνο τις γραμμές που περιέχουν μοναδικά ένα συγκεκριμένο κείμενο:

```

grep --only-ταιριάζουν όνομα αρχείου "search-text".

```

Επεξήγηση :Εμφανίζει μόνο τις γραμμές που ταιριάζουν αποκλειστικά με το "search-text" και εξαιρεί οποιεσδήποτε γραμμές ταιριάζουν επίσης με άλλα μοτίβα στο κείμενο.

Παράδειγμα :

```

grep --only-matching "συνδέθηκε επιτυχώς" /var/log/messages

```

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

19. Χρωματίστε το αντίστοιχο κείμενο:

```

grep --color όνομα αρχείου "search-text".

```

Επεξήγηση :Επισημαίνει το αντίστοιχο κείμενο σε διαφορετικά χρώματα για να βελτιώσει την αναγνωσιμότητα.

Παράδειγμα :

```

grep --color "error" /var/log/syslog

```

Αυτή η εντολή εκτυπώνει τις γραμμές που περιέχουν "σφάλμα" στο αρχείο καταγραφής συστήματος με το αντίστοιχο κείμενο επισημασμένο με χρώμα.

20. Εμφάνιση στατιστικών στοιχείων για αντίστοιχες γραμμές:

```

grep -c "search-text" όνομα αρχείου | wc -l

```

Επεξήγηση :Παρέχει το πλήθος των γραμμών που ταιριάζουν χρησιμοποιώντας grep και στη συνέχεια χρησιμοποιεί την εντολή "wc -l" για να εμφανίσει την καταμέτρηση.

Παράδειγμα :

```

grep -c "warning" /var/log/messages | wc -l

```

Αυτή η εντολή μετράει πρώτα τις γραμμές με "warning" χρησιμοποιώντας grep και μετά εμφανίζει την καταμέτρηση.

21. Φιλτράρετε τα δυαδικά αρχεία κατά την αναζήτηση:

```

grep

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα