/ / 5 lệnh điều khiển văn bản hữu ích nhất trên Linux

5 lệnh điều khiển văn bản hữu ích nhất trên Linux

Các nhà phát triển Linux tuân theo triết lý tạo ra các chương trình nhỏ thực hiện một nhiệm vụ và làm tốt nhiệm vụ đó. Lấy các công cụ xử lý văn bản Linux làm ví dụ, chúng nhẹ và có chức năng mô-đun. Mặc dù các công cụ thao tác văn bản này khác nhau về độ phức tạp và chức năng, chúng rất hữu ích trong môi trường không có giao diện người dùng đồ họa.

Bài viết đề cập đến các công cụ Linux tốt nhất để đọc tệp và sử dụng biểu thức chính quy để thực hiện các thao tác trên văn bản đã chọn. Nó cũng bao gồm các chức năng và ví dụ cơ bản nhất của chúng để bạn hiểu rõ hơn.

1. grep

grep là một tiện ích thao tác văn bản của Linux để tìm kiếm một chuỗi ký tự hoặc mẫu được gọi là biểu thức chính quy trong một tệp hoặc văn bản. Công cụ grep thuộc họ các tiện ích bao gồm egrep, fgrep và grep, trong đó fgrep là nhanh nhất trong khi grep là dễ nhất.

Cú pháp chung để sử dụng grep như sau:

grep -options string filename

Ví dụ: để tìm kiếm từ “root” trong tệp / etc / passwd:

grep root /etc/passwd

Ví dụ về chuỗi Grep

Một số ví dụ dòng lệnh tiêu chuẩn để bắt đầu là:

Tùy chọn Thí dụ Sự miêu tả
-C grep -c ./bashrc Đếm số dòng trong đó chuỗi tồn tại
-tôi grep -i ./bashrc Thực hiện tìm kiếm không phân biệt chữ hoa chữ thường cho chuỗi được chỉ định
-o tệp grep -o Chỉ in chuỗi phù hợp
-l grep -l “passwd” In tên tệp trong thư mục hiện tại phù hợp với mẫu
-n tệp grep -n In số dòng dọc theo dòng chứa chuỗi được chỉ định
string1 | string2 tệp grep “string1 | string2” Tìm và in nhiều chuỗi từ một tệp

Tương tự, bạn có thể sử dụng ^ siêu ký tự với lệnh grep để hiển thị tất cả các chuỗi phù hợp bắt đầu bằng các ký tự nhất định.

Ví dụ: lệnh sau chuyển đầu ra lệnh env làm đầu vào cho grep và hiển thị các biến bắt đầu bằng “HO“:

env | grep ^HO

Biến môi trường Grep

Liên quan: Ví dụ thực tế về các lệnh Linux Grep

2. awk

awk là một ngôn ngữ kịch bản mạnh mẽ và một công cụ thao tác văn bản dòng lệnh có thể thực hiện quét từng dòng và so sánh các dòng với các mẫu. Cú pháp cơ bản của lệnh awk là một hành động được xác định giữa một dấu ngoặc kép và dấu ngoặc nhọn theo sau là tên tệp.

awk '{action}' filename
awk '{pattern; action}' filename

Tiện ích tìm kiếm tệp bằng cách sử dụng biểu thức chính quy và thực hiện chức năng được xác định trong tham số hành động. awk thực thi tập lệnh trên mọi dòng nếu bạn không đặt một mẫu, như được hiển thị bên dưới:

awk '{print $1}' awk_examples.txt

Ví dụ về chuỗi Awk

…ở đâu $ 1 hiển thị trường đầu tiên của awk_examples.txt tập tin.

Lệnh sau thực hiện chức năng in trên mẫu đã cho bằng cách thay thế trường thứ hai “Thế giới” với “Alice, “và hiển thị toàn bộ dòng ($ 0):

echo "Hello World" | awk '{$2="Alice"; print $0}'

Đầu ra:

Hello Alice

Tương tự, bạn có thể sử dụng hàm in $ 0 từ lệnh trên để mô phỏng grep chức năng.

awk '/john/{print $0}' /etc/passwd
john:x:1001:1001::/home/john:/bin/sh

3. sắp xếp

sort là một tiện ích dòng lệnh khác của Linux giúp bạn hiển thị nội dung của tệp văn bản được chỉ định ở định dạng được sắp xếp. Ví dụ: bạn có thể chuyển đầu ra của lệnh awk làm đầu vào cho tiện ích sắp xếp như sau:

awk '{print $1}' awk_examples.txt | sort > sort_text.txt
cat sort_text.txt

Đầu ra:


Sắp xếp ví dụ

Liên quan: Cách sắp xếp tệp văn bản trong Linux bằng cách sử dụng sắp xếp

4. sed

sed hoặc trình chỉnh sửa luồng nhận đầu vào dưới dạng một luồng ký tự và thực hiện lọc và chuyển đổi văn bản (xóa, thay thế và thay thế) trên văn bản được chỉ định.

Bạn có thể sử dụng nó trong một tập lệnh và chỉnh sửa tệp không tương tác. Do đó, mục đích cơ bản nhất của tiện ích là thay thế chuỗi / ký tự. Cú pháp chung là:

sed 's/string/substitution/option' file

Tạo một tệp bằng cách sử dụng các câu ngẫu nhiên để thực hành và hiểu hoạt động của tiện ích này.


Tệp ví dụ Sed

Hãy thay thế sự xuất hiện của từ “hai“trên mọi dòng của tệp với”2” sử dụng -g cờ để thay thế toàn cầu, như sau:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Tương tự, sử dụng -d gắn cờ để xóa một dòng cụ thể khỏi tệp:

sed '2d' sed_examples.txt

Ví dụ về xóa Sed

Bạn cũng có thể thay thế chuỗi bằng cách chỉ định một số dòng (4 giây / hai / 2 / p) và chỉ in dòng được thay thế như sau:

sed -n '4 s/two/2/p' sed_examples2.txt

sed thay thế theo dòng và ví dụ in

Các -n cờ trong lệnh trên vô hiệu hóa việc in tự động dòng đầu vào ra đầu ra. Bạn có thể sử dụng tùy chọn này có lợi cho mình để thay thế chức năng tiện ích grep bằng sed.

Ví dụ: bạn có thể sửa đổi lệnh trên bằng cách chỉ bao gồm một mẫu regex / hai / p như vậy mà -P cờ sẽ chỉ in các dòng đến dòng đầu ra tiêu chuẩn.

sed -n '/two/p' sed_examples2.txt

sed as grep ví dụ

Liên quan: 10 ví dụ này sẽ khiến bạn trở thành người dùng thành thạo Linux

5. cắt

Cut là một tiện ích dòng lệnh khác để cắt / trích xuất các phần của văn bản từ một dòng hoặc tệp. Nó cắt văn bản dựa trên một trường, ký tự hoặc vị trí byte được chỉ định và chuyển kết quả đến đầu ra tiêu chuẩn.

Tiện ích sử dụng cú pháp sau:

cut <options> file

Sử dụng -b tùy chọn để cắt phần hoặc nội dung bằng cách sử dụng một byte được chỉ định hoặc một loạt các byte:

cut -b 1 cut_examples.txt

Cắt tùy chọn lệnh Byte

Sử dụng -C cờ để trích xuất văn bản bằng cách chỉ định vị trí của các ký tự:

cut -c 1,3,5 cut_examples.txt

Ví dụ về tùy chọn ký tự cắt

Cuối cùng, bạn cũng có thể trích xuất văn bản bằng cách chỉ định các trường với -f tùy chọn và -d cho dấu cách hoặc dấu phân cách trường:

cut -d " " -f 1 cut_examples.txt

Ví dụ về tùy chọn trường cắt

Đây là danh sách các phạm vi với các ví dụ và mô tả mà bạn có thể sử dụng với ký tự -C và byte -b tùy chọn:

Phạm vi Thí dụ Sự miêu tả
n- cut -c 7- tên tệp Trích xuất ký tự từ số nguyên thứ n cho đến cuối dòng
nm tên tệp cut -b 7-15 Trích xuất từ ​​số nguyên nm của mỗi dòng từ tệp đầu vào
-m cut -c -7 tên tệp Trích dòng bắt đầu từ m cho đến cuối dòng

Lưu ý rằng bạn không thể xác định phạm vi để trích xuất văn bản bằng cách sử dụng trường -f lựa chọn.

Thao tác văn bản với lệnh Linux

Linux cung cấp nhiều chương trình và công cụ để xử lý và làm việc xung quanh tệp hoặc văn bản. Việc học tất cả chúng có thể không bắt buộc vì bạn có thể dễ dàng lấp đầy khoảng cách với cái khác khi bạn đã nắm bắt tốt một cái, chẳng hạn như sử dụng sed dưới dạng grep hoặc awk như grep, nhưng điều này không thể đúng với mọi công cụ.

Bên cạnh đó, các lệnh Linux có một đường cong học tập khó khăn nhưng một khi bạn phát triển kỹ năng, chúng có thể chứng minh là rất hữu ích và hiệu quả trong cuộc sống của bất kỳ người dùng Linux nào, đặc biệt là quản trị viên hệ thống.


ứng dụng đầu cuối cho linux
8 ứng dụng đầu cuối tốt nhất để nâng cao năng suất Linux

Bạn cảm thấy mệt mỏi với ứng dụng đầu cuối cũ và nhàm chán được cài sẵn trên Linux? Kiểm tra tám ứng dụng đầu cuối này sẽ nâng cao quy trình làm việc của bạn.

Đọc tiếp


Giới thiệu về tác giả

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *