Không phải là câu trả lời ngắn nhất nhưng ...
Câu trả lời này dựa trên một câu hỏi khác từ Super User . Mặc dù không phải là lệnh bash ngắn nhất, truncate
nhưng dễ đọc nhất đối với người mới trung bình:
$ echo Hello > Hello.txt
$ echo World! >> Hello.txt
$ cat Hello.txt
Hello
World!
$ truncate -s 0 Hello.txt
$ ll Hello.txt
-rw-rw-r-- 1 rick rick 0 Mar 20 17:32 Hello.txt
Các tham số được sử dụng với truncate
lệnh ở đây:
- "-s" đặt kích thước
- Kích thước "0" sẽ bằng không
Xóa mọi thứ trừ 10.000 byte đầu tiên
Một lợi thế của truncate
là bạn có thể chỉ định số tiền cần giữ, không chỉ là 0:
$ truncate -s 10000 Hello.txt
... sẽ cắt mọi thứ sau 10.000 byte đầu tiên. Điều này có thể hữu ích nếu một chương trình phát điên và đổ nhiều Megabyte dữ liệu vào một tệp nhật ký nhỏ:
- Chạy
truncate
lệnh cho kích thước bình thường lớn hơn hợp lý là 10K
- Mở tệp bằng trình soạn thảo văn bản của bạn và nhấn End
- Đánh dấu và PgUpxóa các byte còn lại không thuộc (thường được nhận dạng bởi các ký tự rác ASCII).