2011-02-18 29 views
0

meybe這太簡單了,但是對於unix來說是新的。從排序後的文件中獲取特定文件

我有一個像/ home這樣的目錄,並且在這個目錄中我有5個文件;

/home/file1.csv

/home/file2.csv

/home/file3.csv

/home/file4.csv

/home/file5.csv

我想顯示一個文件,他們必須按日期排序,我可以顯示例如3.該文件的順序..

回答

0

上面提到的aifreedom方法比我以前的方法要好(轉移到底部)

@denso,忽略目錄,你可以這樣做。

ls -p | grep -v \/ | head -3 

LS與目錄後跟當前目錄-p列出一切一個「/」 的grep -v \ *符號*接受一個流並濾除包含符號輸入(在這裏,包含/) 頭-3的詞將提供列表中的前3個。

_ _

我不知道是否有這樣做的更簡單的方法,但這個工程

ls -t | xargs | awk '{ print $3 }' 

+0

你能更詳細地解釋這個syctax嗎? – Denso 2011-02-18 09:37:58

+0

ls -t按時間排序。通過xargs管道它,你可以把ls -t的輸出作爲awk的參數列表。 awk'{print $ 3}'打印排序順序中第三個參數(來自ls -t)的第三個參數。 – 2011-02-23 00:17:14

1

我不是很當然,如果你想要先訂購最新的或最早的。

ls -t | head -3 

將打印最新的3個文件,並

ls -rt | head -3 

將打印的最古老的3個文件。

如果您想按訪問時間對結果進行排序(上面的命令在修改時間對它們進行排序),請分別使用以下命令。

ls -u | head -3 
ls -ru | head -3