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

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

Επισκόπηση της εντολής κοπής

Το cut χρησιμοποιεί την ακόλουθη βασική σύνταξη:

Τομή 

Μπορείτε επίσης να το διώξετε με άλλες εντολές ως εξής:

echo “string_of_characters” | Τομή 

Λάβετε υπόψη ότι η απουσία οποιασδήποτε επιλογής δημιουργεί σφάλμα. Ακολουθούν ορισμένες σημαίες που μπορείτε να χρησιμοποιήσετε με το cut για να επικαλεστείτε τις διάφορες λειτουργίες του:

instagram viewer

Επιλογή Περιγραφή
-σι Κόβει ανά byte θέση
-ντο Περικοπές ανά θέση χαρακτήρα
-ρε Εξάγει συμβολοσειρά χρησιμοποιώντας τον οριοθέτη που καθορίζεται με την επιλογή πεδίου (-f).
-φά Αποσπάσματα από ένα καθορισμένο πεδίο
-μικρό Αποσπάσματα μόνο για οριοθέτες
--συμπλήρωμα Εκτυπώστε την έξοδο εκτός από το πεδίο που έχετε καθορίσει
--εξόδου-οριοθέτης Αντικαταστήστε τον υπάρχοντα οριοθέτη με αυτόν που έχετε καθορίσει

Ακολουθούν μερικά παραδείγματα της εντολής cut που θα σας βοηθήσουν να κατανοήσετε καλύτερα το εργαλείο και τις λειτουργίες του.

1. Εξαγωγή συγκεκριμένων χαρακτήρων από μια συμβολοσειρά

Χρησιμοποιήστε το -σι επιλογή για ανάκτηση συμβολοσειρών χαρακτήρων με βάση τον αριθμό των byte τους, ως εξής:

echo "Hello World" | αποκοπή -b 1,2,3,5,8,9

Παραγωγή:

Heloor

Μπορείτε επίσης να καθορίσετε μια διαδρομή αρχείου αντί για μια συμβολοσειρά:

cut -b 1,2,3,4,5 filename.txt

Ή μπορείτε να εξαγάγετε χαρακτήρες ανάλογα με τη θέση τους στο κείμενο. Χρησιμοποιήστε το -ντο επιλογή ακολουθούμενη από την ακολουθία/σειρά χαρακτήρων που πρέπει να ανακτήσετε ως εξής:

echo "Hello World" | αποκοπή -c 1,2,3,5,6,8,10,11

Παραγωγή:

Γεια σου παλιό

Ομοίως, για να ανακτήσετε πεδία ή στήλες από μια βάση δεδομένων επίπεδων αρχείων, χρησιμοποιήστε την εντολή cut με το -φά επιλογή σημαίας:

cut -f 3 database.txt

2. Αποκοπή εύρους byte ή χαρακτήρων

Μπορείτε επίσης να χρησιμοποιήσετε το -σι επισημάνετε με την εντολή cut για εξαγωγή και εκτύπωση πολλαπλών περιοχών byte ως εξής:

cut -b 1-7,16-23 database.txt

Μπορείτε να ορίσετε το εύρος για την ανάκτηση χαρακτήρων χρησιμοποιώντας το -ντο σημαία ως εξής:

cut -c 1-7,16-23 database.txt

3. Εξαγωγή κειμένου από θέσεις έναρξης ή τέλους

Χρησιμοποιήστε το -cn- επιλογή εξαγωγής κειμένου από τον nο χαρακτήρα και μετά στο τέλος της γραμμής, όπου n είναι το ευρετήριο ενός χαρακτήρα στη συμβολοσειρά.

Για παράδειγμα, για να εξαγάγετε τη συμβολοσειρά ξεκινώντας από τον έκτο χαρακτήρα έως το τέλος της γραμμής:

cut -c6- database.txt

Ή χρησιμοποιήστε την ακόλουθη εντολή για ανάκτηση από την αρχή μέχρι την τελευταία Μ χαρακτήρες από το αρχείο:

cut -c-8 database.txt

4. Αποκοπή πολλών πεδίων από ένα αρχείο

Μπορείτε επίσης να εκτυπώσετε πολλά πεδία από ένα αρχείο χρησιμοποιώντας το -φά σημαία.

cut -f 1,2 database.txt

Παραγωγή:

ΟΝΟΜΑ ΗΛΙΚΙΑ 
Ιωάννης 20
Λίζα 24
Τζακ 18
Μπρους 23
Νάνσυ 19

5. Εξαγωγή κειμένου χρησιμοποιώντας οριοθέτες

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

Για παράδειγμα, για να εξαγάγετε την πρώτη στήλη του /etc/passwd αρχείο, χρησιμοποιήστε άνω και κάτω τελεία (:) ως οριοθέτη:

cut -d ‘:’ -f 1 /etc/passwd

Ομοίως, η τιμή οριοθέτη στη δεδομένη ροή κειμένου είναι ένα ενιαίο διάστημα:

ηχώ "Το 1% του 1%" | κόβω -d ' ' -f 2,3

Παραγωγή:

1% των

6. Αλλαγή οριοθέτη εξόδου για οθόνη

ο --εξόδου-οριοθέτης Το flag προσθέτει ευελιξία στην έξοδο της εντολής cut. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη σημαία για να εμφανίσετε την έξοδο σε ξεχωριστή γραμμή χρησιμοποιώντας το $'\n' τιμή (νέα γραμμή), ως εξής:

grep alice /etc/passwd | cut -d ':' -f 1,5,7 --output-delimiter=$'\⁠n'

Παραγωγή:

Αλίκη
Αλίκη
/bin/sh

Επιπλέον, μπορείτε επίσης να αντικαταστήσετε έναν οριοθέτη ενός αρχείου εισόδου με τον οριοθέτη της επιλογής σας στην έξοδο χρησιμοποιώντας το --εξόδου-οριοθέτης σημαία:

grep root /etc/passwd | cut -d ':' -f 1,6,7 --output-delimiter=@

Παραγωγή:

root@/root@/bin/bash
nm-openvpn@/var/lib/openvpn/chroot@/usr/sbin/nologin

7. Κόψτε πεδία μόνο όταν μια γραμμή περιέχει τον οριοθέτη

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

echo "HelloWorld" | κόψτε -d " " -f 1 -s

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

echo "Hello World" | κόψτε -d " " -f 1 -s

Παραγωγή:

γεια σας

Ομοίως, μπορείτε επίσης να χρησιμοποιήσετε οποιονδήποτε άλλο χαρακτήρα ως οριοθέτη:

echo "Hello: World" | κόβω -d ":" -f 2 -s

Παραγωγή:

Κόσμος

8. Συμπληρώστε το Command Output

Το βοηθητικό πρόγραμμα περικοπής σάς επιτρέπει επίσης να εκτυπώσετε όλα τα πεδία εκτός από το καθορισμένο πεδίο. Χρησιμοποιήστε το --συμπλήρωμα επιλογή ως εξής για τη λήψη όλων των στοιχείων του λογαριασμού χρήστη root εκτός από την πέμπτη στήλη:

grep "root" /etc/passwd | cut -d ':' --συμπλήρωμα -s -f 5

Παραγωγή:

root: x: 0:0:/root:/bin/bash

Ομοίως, στο παρακάτω παράδειγμα, το -στ 1 πρέπει να εμφανίζεται η παράμετρος γεια σας κείμενο ωστόσο, λόγω της --συμπλήρωμα επιλογή, εκτυπώνει μόνο το υπόλοιπο.

ηχώ «Γεια σε όλο τον κόσμο» | cut -d " " -f 1 --complement

Παραγωγή:

σε όλο τον Κόσμο

Το καλύτερο μέρος είναι ότι μπορείτε να συνδυάσετε την εντολή cut με την τυπική έξοδο άλλων εντολών Linux/Unix.

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

Στο παρακάτω παράδειγμα, την εντολή grep Η έξοδος διοχετεύεται στο βοηθητικό πρόγραμμα sed που αντικαθιστά την άνω και κάτω τελεία (:) με μια παύλα (-) και, στη συνέχεια, το cut εμφανίζει τα πεδία 1, 6 και 7 ως εξής:

grep alice /etc/passwd | sed 's/:/-/g' | αποκοπή -d ' ' -f 1,5,7

Παραγωγή:

alice-x-1005-1008-Alice-/home/new/alice-/bin/sh

Εργασία με κείμενο σε Linux χρησιμοποιώντας cut

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

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

Οι 5 πιο χρήσιμες εντολές χειρισμού κειμένου Linux

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

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Linux
  • Εντολές Linux
  • Linux Elementary
  • Linux Bash Shell
Σχετικά με τον Συγγραφέα
Ρουμάισα Νιαζή (Δημοσιεύτηκαν 10 άρθρα)

Η Rumaisa είναι ανεξάρτητος συγγραφέας στο MUO. Έχει φορέσει πολλά καπέλα, από Μαθηματικός έως λάτρης της Ασφάλειας Πληροφοριών, και τώρα εργάζεται ως Αναλυτής SOC. Τα ενδιαφέροντά της περιλαμβάνουν την ανάγνωση και τη γραφή για νέες τεχνολογίες, διανομές Linux και οτιδήποτε αφορά την ασφάλεια πληροφοριών.

Περισσότερα από τη Rumaisa Niazi

Εγγραφείτε στο ενημερωτικό μας δελτίο

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

Κάντε κλικ εδώ για να εγγραφείτε