Android

Bash: nối vào tập tin

SUPER-SHOWDOWN-BOWL! - TOON SANDWICH

SUPER-SHOWDOWN-BOWL! - TOON SANDWICH

Mục lục:

Anonim

Trong Bash, có nhiều cách để thêm văn bản vào một tệp. Bài viết này giải thích một số trong số họ.

Để nối văn bản vào một tệp, bạn cần có quyền ghi vào nó. Nếu không, bạn sẽ nhận được một lỗi từ chối cấp phép.

Nối vào tệp bằng toán tử chuyển hướng ( >> )

Chuyển hướng cho phép bạn nắm bắt đầu ra từ một lệnh và gửi nó dưới dạng đầu vào cho một lệnh hoặc tệp khác. Toán tử chuyển hướng >> nối đầu ra vào một tệp đã cho.

Có một số lệnh mà bạn có thể sử dụng để in văn bản đến đầu ra tiêu chuẩn và chuyển hướng nó đến tệp, với echo printf là những lệnh được sử dụng nhiều nhất.

Để nối văn bản vào một tệp, chỉ định tên của tệp sau toán tử chuyển hướng:

echo "this is a new line" >> file.txt

Khi được sử dụng với tùy chọn -e , lệnh echo giải thích các ký tự thoát dấu gạch chéo ngược như newline :

echo -e "this is a new line \nthis is another new line" >> file.txt

Nếu bạn muốn tạo đầu ra phức tạp hơn, hãy sử dụng lệnh printf cho phép bạn chỉ định định dạng của đầu ra:

printf "Hello, I'm %s.\n" $USER >> file.txt

Một cách khác để nối văn bản vào một tệp là sử dụng tài liệu Here (Heredoc). Đây là một loại chuyển hướng cho phép bạn chuyển nhiều dòng đầu vào cho một lệnh.

Ví dụ: bạn có thể truyền nội dung cho lệnh cat và nối nó vào một tệp:

cat «EOF» file.txt Thư mục làm việc hiện tại là: $ PWD Bạn đã đăng nhập với tên: $ (whoami) EOF

Bạn có thể nối đầu ra của bất kỳ lệnh nào vào một tệp. Dưới đây là một ví dụ với lệnh date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Khi nối thêm tệp bằng chuyển hướng, hãy cẩn thận không sử dụng toán tử > để ghi đè lên tệp hiện có quan trọng.

Nối vào tập tin bằng lệnh tee

tee là một tiện ích dòng lệnh trong Linux, đọc từ đầu vào tiêu chuẩn và ghi vào cả đầu ra tiêu chuẩn và một hoặc nhiều tệp cùng một lúc.

Theo mặc định, lệnh tee ghi đè lên tệp đã chỉ định. Để nối đầu ra vào tệp, hãy sử dụng tee với tùy chọn -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

Ưu điểm của việc sử dụng lệnh tee trên toán tử >> tee cho phép bạn thêm văn bản vào nhiều tệp cùng một lúc và ghi vào các tệp do người dùng khác sở hữu kết hợp với sudo .

Để nối thêm văn bản vào một tệp mà bạn không có quyền ghi vào, hãy thêm sudo trước tee như hình dưới đây:

echo "this is a new line" | sudo tee -a file.txt

tee nhận đầu ra của lệnh echo , nâng cao quyền sudo và ghi vào tệp.

Để nối thêm văn bản vào nhiều tệp, chỉ định các tệp làm đối số cho lệnh tee :

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Phần kết luận

Trong Linux, để nối văn bản vào một tệp, hãy sử dụng toán tử >> chuyển hướng hoặc lệnh tee .

thiết bị đầu cuối bash