Lệnh wc trong Linux

1. Cú pháp

Lệnh wc trong Linux được dùng để đếm số dòng, số từ hay số byte của 1 tập tin và in kết quả này ra màn hình.

Cú pháp

# wc [OPTION] [FILE]…

wc in ra 1 dòng kết quả cho mỗi tập tin được truyền vào nó như  đối số, kết quả được in theo thứ tự: dòng, từ, ký tự, byte, chiều dài dòng lớn nhất. Mặc định, wc in ra 3 giá trị: số dòng, từ, và byte.

Ví dụ:

# cat file_1
This is the first line
This is the second line
# wc file_1
2 10 47 file_1

Nếu có nhiều hơn 1 tập tin, wc in ra dòng cuối cùng là giá trị tổng của các tập tin trên. Ví dụ:

# cat file_1
This is the first 
lineThis is the second line
# cat file_2
This is the first 
lineThis is the second line
This is the third line
# wc file_1 file_2
2 10 47 file_1
3 15 70 file_2
5 25 117 total

2. Các ứng dụng của wc

2.1. In ra số dòng của tập tin

Để in ra số dòng của 1 tập tin, sử dụng tùy chọn -l hay –lines của wc như sau:

# cat file_1
This is the first line
This is the second line
# wc -l file_1
2 file_1

2.2. In ra số ký tự của tập tin

Để in ra số ký tự của 1 tập tin, sử dụng tùy chọn -m hay –chars như sau:

 

# wc -m file_1
47 file_1

2.3. In ra số từ của tập tin

Để in ra số từ của 1 tập tin, sử dụng tùy chọn -w hay –words như sau:

# wc -w file_1
10 file_1

2.4. In ra số byte của tập tin

Để in ra số byte của 1 tập tin, sử dụng tùy chọn -c hay –bytes như sau:

# wc -c file_1
47 file_1

2.5. In ra chiều dài dòng dài nhất

Để in ra chiều dài của dòng dài nhất trong 1 tập tin, sử dụng tùy chọn -L hay –max-line-length như sau:

# cat file_3
This is the first line
This is the second line
This is the third line
This is the longest line.
# wc -L file_3
25 file_3

Nếu có nhiều hơn 1 tập tin, lệnh wc in ra giá trị lớn nhất của những dòng đó.

# wc -L file_1
23 file_1
# wc -L file_3
25 file_3
# wc -L file_1 file_3
23 file_1
25 file_3
25 total

 

2.6. Lấy danh sách đối số từ tập tin

Chúng ta có thể chỉ định cho wc lấy danh sách các đối số từ 1 tập tin thay cho việc lấy danh sách từ dòng lệnh như mặc định bằng cách sử dụng tùy chọn –files0-from=FILE. Với tùy chọn này, wc sẽ không xử lý các tập tin được đặt trên dòng lệnh, và thay vào đó xử lý các tập tin được đặt tên trong tập tin FILE; mỗi tên được phân biệt bởi ký tự zero byte (NULL). Việc này hữu dụng khi danh sách các tập tin quá dài có thể vượt quá giới hạn chiều dài của dòng lệnh.

Ví dụ:

# ls
file_1 file_2 file_3
#  find . -type f -print0 > file_list
wc --files0-from=file_list
2 10 47 ./file_1
3 15 70 ./file_2
4 20 96 ./file_3
0 1 39 ./file_list
9 46 252 total

2.7. Sử dụng kết hợp với find

Chúng ta có thể sử dụng lệnh wc kết hợp với lệnh find để thực hiện 1 số tác vụ phổ biến liên quan đến tập tin và thư mục như:

2.7.1. Đếm số lượng tập tin hay thư mục
# ls
file_1 file_2 file_3 file_list
# find . -type f | wc -l
4

Chúng ta kết thúc bài tìm hiểu về chức năng của lệnh wc trong Linux tại đây. Chúc các bạn thành công!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.