Tôi đã thấy nhiều câu hỏi và câu trả lời ở đây bằng cách sử dụng một công trình dọc theo dòng
list_dir=`ls -t /path/to/dir/`
for i in $list_dir; do
hoặc là
ls -t | while read i; do
Bây giờ, tôi biết rằng bạn không nên sử dụng ls trong các tập lệnh vì nó dễ bị hỏng; nhưng tôi không thể tìm thấy cách vận hành tốt hơn trên các tệp theo thứ tự từ sửa đổi lần cuối đến sửa đổi gần đây nhất (hoặc ngược lại).
Tôi có thể sử dụng một cái gì đó như:
find . -type f -printf '%T@ %p\n' | sort -n | cut -d ' ' -f 2- | while read i; do...
... nhưng điều này vẫn sẽ phá vỡ với bất kỳ tệp nào có dòng mới trong tên của họ và xấu hơn nhiều để khởi động. Có cách nào tốt hơn?
--zero-terminated
- cảm ơn bạn vì điều đó, tôi ước tôi có thể cho bạn nhiều điểm hơn nữa!