Có một số cách để thêm văn bản vào tệp trên hệ thống Linux mà không cần phải mở trình chỉnh sửa, chẳng hạn như tiếng vang và printf các lệnh. Mặt khác, khi bạn cần thêm RẤT NHIỀU văn bản, kỹ thuật bạn sử dụng có thể khiến công việc trở nên tẻ nhạt hoặc trở thành một miếng bánh.
Bài đăng này mô tả một số lệnh bạn có thể sử dụng cũng như các vấn đề và lợi ích mà bạn có thể mong đợi.
Cũng thấy: Cách lặp lại mãi mãi trong bash trên Linux
Các tiếng vang lệnh nối các dòng văn bản vào các tệp hiện có theo cách đơn giản:
$ echo "text to be added to file" >> myfile $ echo "more text" >> myfile
Bạn cũng có thể sử dụng printf để nối văn bản, nhưng hãy nhớ rằng theo mặc định, nó sẽ không thêm dòng mới như khi bạn nhấn phím Enter. Sử dụng một lệnh như thế này với n để bao gồm nó:
$ printf "appended textn" >> myfile
Khi bạn muốn tạo một tập lệnh sẽ thêm một loạt các dòng vào một tệp, tiếng vang và printf các phương pháp vừa hiển thị có thể hơi mệt mỏi. Một tùy chọn là thêm nhiều dòng với một tiếng vang hoặc là printf lệnh bao gồm các ký tự dòng mới như sau:
$ echo -e "text to be added to filenmore text" >> myfile
$ printf "more text to be addednand so onnand so onn" >> myfile
Các -e tùy chọn làm cho tiếng vang lệnh diễn giải n trình tự dưới dạng dòng mới, vì vậy tệp của bạn sẽ bao gồm các dòng sau:
$ tail -5 myfile text to be added to file more text
more text to be added
and so on
and so on
Bạn cũng có thể chỉ cần gõ từng dòng riêng biệt miễn là bạn không kết thúc câu trích dẫn cho đến cuối văn bản. Đây là loại nhiều dòng tiếng vang yêu cầu bạn bắt đầu tiếng vang lệnh trên một dòng với dấu ngoặc kép mở (“), thêm các dòng không có dấu ngoặc kép và sau đó đóng tiếng vang trên dòng cuối cùng với dấu ngoặc kép đóng. Đây là một ví dụ về việc này trên dòng lệnh:
$ echo "There is more than one way to skin a cat > but skinned cats are never very cuddly. > You would be better off skinning a catfish and > likely less inclined to cuddle it afterwards." > cats $ cat cats There is more than one way to skin a cat but skinned cats are never very cuddly. You would be better off skinning a catfish and likely less inclined to cuddle it afterwards.
Tuy nhiên, nếu bạn muốn thêm một lượng lớn văn bản, ngay cả nhiều dòng tiếng vang lệnh trên có thể đòi hỏi nhiều nỗ lực hơn giá trị của nó. Hai tùy chọn khác là 1) đưa văn bản vào một tệp riêng biệt và nối nội dung của tệp đó vào tệp bạn đang cập nhật và 2) thêm văn bản bằng tập lệnh.
Table of Contents
Thêm văn bản bằng một tệp riêng biệt
Để thêm văn bản từ tệp này vào cuối tệp khác, trước tiên chúng ta có thể tạo tệp để nối. Dưới đây là một ví dụ sử dụng việc thêm tuyên bố từ chối bảo hành vào cuối tệp thông tin chi tiết về sản phẩm:
$ cat warranty_disclaimer WARRANTY DISCLAIMER =================== The information provided about this product is not intended to provide any promise that it will work as advertised or that it will continue to work for any particular period of time. The seller accepts no responsibility for how the buyer uses it nor for any damages caused during or by its use.
Khi tệp văn bản đã sẵn sàng, hãy chạy một lệnh như sau để nối thêm vào:
$ cat warranty_disclaimer >> cordless_drill
Trong ví dụ này và các ví dụ trước đó, bạn cần phải cẩn thận để không ghi đè tệp đích bằng cách sử dụng một dấu “>”.
Thêm văn bản bằng tập lệnh
Một tùy chọn khác là thêm các dòng bằng cách sử dụng một tập lệnh. Đối với điều này, bạn có thể sử dụng nhiều dòng tiếng vang như một trong những lệnh được hiển thị ở trên.
Tập lệnh ví dụ bên dưới sử dụng kỹ thuật này để thêm tiết lộ bảo hành vào bất kỳ tệp nào được cung cấp làm đối số cho tập lệnh hoặc được cung cấp tại dấu nhắc:
#!/bin/bash if [ $# != 1 ]; then echo -n "file name> " read filename else filename=$1 fi if [ ! -f $filename ]; then echo "No such file: $filename" exit fi echo " WARRANTY DISCLAIMER =================== The information provided about this product is not intended to provide any promise that it will work as advertised or that it will continue to work for any particular period of time. The seller accepts no responsibility for how the buyer uses it nor for any damages caused during or by its use. " >> $filename
Nếu bạn có một tệp kết thúc như thế này:
$ tail -2 cordless_drill Use this product to drill holes in things. Be careful not to drill holes in
your pets or fragile objects that might break.
Bạn có thể thêm tuyên bố từ chối trách nhiệm như sau:
$ add_disclaimer cordless_drill
Xác minh các dòng bổ sung như sau:
$ tail -10 cordless_drill Use this product to drill holes in things. Be careful not to drill holes in
your pets or fragile objects that might break. WARRANTY DISCLAIMER =================== The information provided about this product is not intended to provide any promise that it will work as advertised or that it will continue to work for any particular period of time. The seller accepts no responsibility for how the buyer uses it or for any damages caused during or by its use.
Một lợi ích của phương pháp này là bạn có thể dễ dàng chèn văn bản của mình vào tập lệnh mà không cần thêm lệnh. Chỉ cần đặt nó giữa tiếng vọng đầu tiên và đường chuyển hướng.
Lưu ý rằng tập lệnh hiển thị ở trên bao gồm các kiểm tra để xem tên tệp đã được chỉ định hay chưa và nếu không, sẽ nhắc cho một tên tệp. Nó cũng kiểm tra để đảm bảo rằng tệp được chỉ định tồn tại.
Các tập lệnh như thế này là một lựa chọn tốt bất cứ khi nào bạn cần nối các dòng văn bản vào nhiều tệp.
Gói (lại
Có nhiều cách để nối văn bản vào tệp trên Linux, nhưng để thêm nhiều dòng, tập lệnh có thể là một trong những lựa chọn tốt hơn của bạn, đặc biệt nếu bạn cần thực hiện điều này nhiều lần. Bạn có thể sử dụng một tập lệnh bao gồm nhiều dòng tiếng vang như chi tiết ở trên để thêm bất kỳ lượng văn bản nào vào tệp.
Bản quyền © 2021 IDG Communications, Inc.