Cách đọc từng dòng tệp trong Bash script

How Read File Line Line Bash Script



Làm thế nào bạn sẽ viết một tập lệnh Bash có thể xử lý một tệp văn bản một dòng tại một thời điểm. Trước tiên, bạn cần một cú pháp và cách tiếp cận để đọc từng dòng tệp. Các phương pháp cho cách tiếp cận này được hiển thị trong hướng dẫn này.

Giả sử, bạn có một tệp có tên company.txt nội dung của tên công ty. Tệp này chứa nội dung sau.







Company.txt
Samsung
Nokia
LG
Giao hưởng
điện thoại Iphone

Ví dụ -1: Đọc nội dung tệp từ dòng lệnh

Giả sử, bạn muốn đọc tệp, company.txt , từng dòng từ dòng lệnh mà không có 'con mèo' chỉ huy. Chạy lệnh sau để thực hiện tác vụ. trong khi vòng lặp sẽ đọc từng dòng từ tệp company.txt trong mỗi bước và lưu trữ nội dung của dòng trong $ dòng biến sẽ được in sau.



$trong khi đọchàng;làm quăng đi $ dòng;xong <company.txt



Ví dụ -2: Đọc nội dung tệp bằng script

Tạo tệp bash và thêm mã sau để đọc nội dung của một tệp cụ thể. Tại đây, một tên tệp hiện có được lưu trữ trong $ filename biến và $ n biến được sử dụng để giữ giá trị của số dòng của tệp đó. Giống như ví dụ trước, trong khi vòng lặp được sử dụng để đọc tệp này với số dòng.





#! / bin / bash
tên tập tin='company.txt'
n=1
trong khi đọchàng;làm
# đọc từng dòng
quăng đi 'Dòng số$ n:$ dòng'
n= $((n +1))
xong < $ filename

Chạy lệnh sau để thực thi tập lệnh.

$bấu víureadfile1.sh

Chạy 'con mèo' ra lệnh với company.txt tệp để hiển thị nội dung gốc của company.txt tập tin.



$ cat company.txt

Ví dụ -3: Truyền tên tệp từ dòng lệnh và đọc tệp

Tạo một tệp bash và thêm tập lệnh sau. Tập lệnh này sẽ lấy tên tệp từ đối số dòng lệnh. Giá trị đối số đầu tiên được đọc bởi biến $ 1 sẽ chứa tên tệp để đọc. Nếu tệp tồn tại ở vị trí hiện tại thì trong khi vòng lặp sẽ đọc từng dòng của tệp như ví dụ trước và in nội dung tệp.

#! / bin / bash
tên tập tin=$ 1
trong khi đọchàng;làm
# đọc từng dòng
quăng đi $ dòng
xong < $ filename

Chạy tập lệnh trên với nhân viên.txt tệp dưới dạng giá trị đối số. Đầu ra sẽ hiển thị nội dung của nhân viên.txt tệp bằng cách loại bỏ không gian thừa. Bạn có thể hiển thị nội dung gốc của nhân viên.txt tập tin bằng cách sử dụng 'con mèo' chỉ huy.

$ bash readfile2.txt character.txt
$ cat worker.txt

Ví dụ - 4: Đọc tệp bằng cách bỏ dấu gạch chéo ngược thoát

Nếu bạn muốn đọc từng dòng của tệp bằng cách bỏ qua dấu gạch chéo ngược thoát thì bạn phải sử dụng '-NS' tùy chọn với lệnh đọc trong trong khi vòng.

#! / bin / bash
trong khi đọc -NShàng;làm
# Đọc từng dòng
quăng đi $ dòng
xong <company2.txt

Tạo một tệp có tên company2.txt với dấu gạch chéo ngược và chạy lệnh sau để thực thi tập lệnh. Đầu ra sẽ hiển thị nội dung tệp mà không có bất kỳ dấu gạch chéo ngược nào.

$bấu víureadfile3.sh

Bạn sẽ cần đọc tệp cho nhiều mục đích lập trình. Ví dụ: bạn có thể dễ dàng tìm kiếm hoặc so khớp bất kỳ nội dung cụ thể nào từ bất kỳ tệp nào bằng cách đọc từng dòng riêng biệt. Vì vậy, nó là một nhiệm vụ cần thiết cho bất kỳ công việc lập trình nào. Một số ví dụ đơn giản về đọc tệp trong tập lệnh bash được hiển thị trong hướng dẫn này. Những điều này sẽ giúp bạn có ý tưởng đọc từng dòng nội dung tệp bằng cách sử dụng vòng lặp while trong tập lệnh bash và áp dụng trong tập lệnh của bạn hiệu quả hơn. Để biết thêm thông tin, hãy xem video !