Làm thế nào để ghi đè tập tin bằng echo?


10

Khi sử dụng echo "foo">> bar.txtnhiều hơn một lần, nó sẽ nối vào cuối tập tin. Làm thế nào để ghi đè bar.txtmỗi lần?


2
Câu trả lời của Dennis là chính xác. Xem man bashvà tìm kiếm (sử dụng /) cho phần "GIẢM GIÁ". Các phần cụ thể "Chuyển hướng đầu ra" và "Nối đầu ra chuyển hướng".
RedGrittyBrick

Câu trả lời:


28

>là để chuyển hướng đến một tập tin (ghi đè lên nó), trong khi >>là để nối thêm.

Để ghi đè bar.txt, sử dụng này:

echo "foo" > bar.txt

1
Thông thường hơn, >được gọi là chuyển hướng (đầu ra tiêu chuẩn vào một tệp) trong khi biểu tượng đường ống |được gọi là đường ống (đầu ra tiêu chuẩn cho một quy trình khác). Bạn có nguy cơ gây nhầm lẫn cho những người như tôi khi bạn gọi >là 'đường ống'
RedGrittyBrick

@RedGrittyBrick: Tôi đã thấy đường ống trong một vài cuốn sách (và tôi đã nói điều đó trong nhiều năm), nhưng chuyển hướng dường như phổ biến hơn nhiều. Cảm ơn.
Dennis

@Dennis Piping đang sử dụng đường ống |để kết nối đầu ra của một chương trình / lệnh với đầu vào của một chương trình khác. Liên quan .
Daniel Beck

@DanielBeck: Ý tôi là tôi đã thấy đường ống dẫn đến một tập tin . Ví dụ: Tìm hiểu Windows PowerShell trong một tháng ăn trưa - Đường ống đến tệp hoặc máy in
Dennis

Lưu ý rằng theo trang 43, trong PowerShell > foochỉ là đường cú pháp | Out-File foo, và do đó là một dạng đường ống ;-)
Daniel Beck
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.