2012-04-27 18 views
6
tail */filename 

công trình, nhưngLàm thế nào để đuôi dòng cuối cùng của nhiều file sử dụng "đuôi -1 */filename"

tail -1 */filename 

không. Tại sao điều này? Và có 1 lớp lót để thực hiện tác vụ này không có vòng lặp không?

head -1 */filename 

hoạt động vì một số lý do lạ.

+2

Thử 'tail -n 1 */filename'. – Beta

+0

Cảm ơn, điều đó có hiệu quả, nhưng bạn có thể giải thích lý do tại sao nó thực hiện điều đó không? – mrkent

+0

Ngoài ra, cách tốt nhất để kết thúc và liệt kê chúng theo thứ tự số tự nhiên, như cách ls -v làm. Tôi nghĩ rằng chỉ cần sử dụng đuôi */tên tập tin, thư mục 1, 10, 11, 12, vv sẽ được liệt kê với nhau, trong khi tôi muốn 1, 2, 3, 4, ... để được liệt kê với nhau. Cảm ơn. – mrkent

Trả lời

8

Trong khi head hoạt động với -1 trên nhiều tệp, tail thì không. Nhưng nó làm việc với các -n lập luận thay vì:

tail -n 1 */filename 
+2

ls không nên ** được phân tích cú pháp (xem http://mywiki.wooledge.org/ParsingLs). – Emil

2

Nếu bạn vẫn đang tìm kiếm câu trả lời hãy thử dưới một:

Vào thư mục trong đó tập tin có sẵn và thực hiện dưới lệnh

ls -1|while read file; do tail -1 $file; done