Computer >> Máy Tính >  >> Hệ thống >> Linux

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Các bản phân phối GNU / Linux bao gồm vô số chương trình để xử lý văn bản, hầu hết trong số đó được cung cấp bởi các tiện ích cốt lõi của GNU. Có một chút đường cong học tập, nhưng những tiện ích này có thể tỏ ra rất hữu ích và hiệu quả khi được sử dụng đúng cách.

Dưới đây là mười ba công cụ thao tác văn bản mạnh mẽ mà mọi người dùng dòng lệnh nên biết.

1. con mèo

Con mèo được thiết kế để con mèo tệp enate nhưng thường được sử dụng để hiển thị một tệp duy nhất. Không có bất kỳ đối số nào, mèo đọc đầu vào chuẩn cho đến khi Ctrl + D được nhấn (từ đầu cuối hoặc từ đầu ra chương trình khác nếu sử dụng đường ống). Đầu vào chuẩn cũng có thể được chỉ định rõ ràng bằng - .

Cat có một số tùy chọn hữu ích, đáng chú ý là:

  • -A in “$” ở cuối mỗi dòng và hiển thị các ký tự không in được bằng ký hiệu dấu mũ.
  • -n đánh số tất cả các dòng.
  • -b các dòng số không được để trống.
  • -s giảm một loạt các dòng trống thành một dòng trống duy nhất.

Trong ví dụ sau, chúng tôi đang nối và đánh số nội dung của tệp1, đầu vào chuẩn và tệp3.

cat -n file1 - file3
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

2. sắp xếp

Đúng như tên gọi của nó, sort sắp xếp nội dung tệp theo thứ tự bảng chữ cái và số.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

3. uniq

Uniq lấy một tệp đã được sắp xếp và loại bỏ các dòng trùng lặp. Nó thường được xâu chuỗi với sort trong một lệnh duy nhất.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

4. dấu phẩy

Comm được sử dụng để so sánh hai tệp đã được sắp xếp, từng dòng một. Nó xuất ra ba cột:hai cột đầu tiên chứa các dòng duy nhất cho tệp đầu tiên và thứ hai tương ứng và cột thứ ba hiển thị các dòng được tìm thấy trong cả hai tệp.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

5. cắt

Cut được sử dụng để truy xuất các phần cụ thể của dòng, dựa trên các ký tự, trường hoặc byte. Nó có thể đọc từ một tệp hoặc từ đầu vào chuẩn nếu không có tệp nào được chỉ định.

Cắt theo vị trí ký tự

-c tùy chọn chỉ định một vị trí ký tự đơn hoặc một hoặc nhiều phạm vi ký tự.

Ví dụ:

  • -c 3 :ký tự thứ 3.
  • -c 3-5 :từ ký tự thứ 3 đến thứ 5.
  • -c -5 hoặc -c 1-5 :từ ký tự thứ 1 đến thứ 5.
  • -c 5- :từ ký tự thứ 5 đến cuối dòng.
  • -c 3,5-7 :ký tự thứ 3 và từ ký tự thứ 5 đến thứ 7.
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Cắt theo lĩnh vực

Các trường được phân tách bằng dấu phân cách bao gồm một ký tự duy nhất, được chỉ định bằng -d lựa chọn. -f tùy chọn chọn một vị trí trường hoặc một hoặc nhiều phạm vi trường sử dụng cùng một định dạng như trên.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

6. dos2unix

GNU / Linux và Unix thường kết thúc các dòng văn bản bằng nguồn cấp dòng (LF), trong khi Windows sử dụng ký tự xuống dòng và nguồn cấp dòng (CRLF). Các vấn đề về khả năng tương thích có thể phát sinh khi xử lý văn bản CRLF trên Linux, đây là nơi dos2unix xuất hiện. Nó chuyển đổi các đầu cuối CRLF thành LF.

Trong ví dụ sau, tệp file lệnh được sử dụng để kiểm tra định dạng văn bản trước và sau khi sử dụng dos2unix .

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

7. gấp

Để làm cho các dòng văn bản dài dễ đọc và dễ xử lý hơn, bạn có thể sử dụng fold , bao bọc các dòng theo chiều rộng được chỉ định.

Gấp hoàn toàn khớp với chiều rộng được chỉ định theo mặc định, ngắt các từ khi cần thiết.

fold -w 30 longline.txt
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Nếu không mong muốn các từ ngắt quãng, bạn có thể sử dụng -s tùy chọn ngắt ở dấu cách.

fold -w 30 -s longline.txt
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

8. iconv

Công cụ này chuyển đổi văn bản từ bảng mã này sang bảng mã khác, rất hữu ích khi xử lý các mã hóa bất thường.

iconv -f input_encoding -t output_encoding -o output_file input_file
  • “input_encoding” là kiểu mã hóa mà bạn đang chuyển đổi.
  • “output_encoding” là kiểu mã hóa bạn đang chuyển đổi sang.
  • “output_file” là tên tệp mà iconv sẽ lưu vào.
  • “input_file” là tên tệp mà iconv sẽ đọc từ đó.

Lưu ý: bạn có thể liệt kê các bảng mã có sẵn bằng iconv -l

9. sed

sed là một s mạnh mẽ và linh hoạt tream ed itor, được sử dụng phổ biến nhất để tìm và thay thế các chuỗi bằng cú pháp sau.

Lệnh sau sẽ đọc từ tệp được chỉ định (hoặc đầu vào chuẩn), thay thế các phần của văn bản khớp với mẫu biểu thức chính quy bằng chuỗi thay thế và xuất kết quả ra đầu cuối.

Tên tệp
sed s/pattern/replacement/g filename

Thay vào đó, để sửa đổi tệp gốc, bạn có thể sử dụng -i cờ.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

10. wc

wc tiện ích in số byte, ký tự, từ hoặc dòng trong một tệp.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

11. tách ra

Bạn có thể sử dụng split để chia tệp thành các tệp nhỏ hơn, theo số dòng, theo kích thước hoặc cho một số tệp cụ thể.

Phân chia theo số dòng

split -l num_lines input_file output_prefix
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Phân chia theo byte

split -b bytes input_file output_prefix
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Tách thành một số tệp cụ thể

split -n num_files input_file output_prefix
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

12. tac

Tac, ngược lại là con mèo, thực hiện chính xác điều đó:nó hiển thị các tệp với các dòng theo thứ tự ngược lại.

Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

13. tr

Công cụ tr được sử dụng để dịch hoặc xóa các bộ ký tự.

Tập hợp các ký tự thường là một chuỗi hoặc các dải ký tự. Ví dụ:

  • “A-Z”:tất cả các chữ cái viết hoa
  • “a-z0-9”:chữ cái viết thường và chữ số
  • “\ n [:câu:]”:ký tự dòng mới và dấu câu

Tham khảo trang hướng dẫn sử dụng để biết thêm chi tiết.

Để dịch bộ này sang bộ khác, hãy sử dụng cú pháp sau:

tr SET1 SET2

Ví dụ:để thay thế các ký tự viết thường bằng các ký tự viết hoa tương đương, bạn có thể sử dụng như sau:

tr "a-z" "A-Z"
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Để xóa một nhóm ký tự, hãy sử dụng -d cờ.

tr -d SET
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Để xóa phần bổ sung của một tập hợp ký tự (tức là mọi thứ ngoại trừ tập hợp), hãy sử dụng -dc .

tr -dc SET
Mười ba công cụ hữu ích để làm việc với văn bản trên dòng lệnh

Kết luận

Có rất nhiều điều để tìm hiểu khi nói đến dòng lệnh Linux. Hy vọng rằng các lệnh trên có thể giúp bạn xử lý văn bản trong dòng lệnh tốt hơn.