sort | head
तारीख से साफ और मजबूत तरीका है :
ls -l
सुंदर प्रिंट के लिए उपयोग करना
find . ! -type d -printf "%T@ %p\0" |
sort -zrn |
head -zn 10 |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -lt
एक के रूप में पार्टी समारोह:
findByDate() {
local humansize=''
[ "$1" = "-h" ] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p\0" |
sort -zrn |
head -zn ${1:--0} |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -dlt${humansize}
}
यह एक या दो तर्क के साथ चल सकता है, या बिना भी:
Usage: findByDate [-h] [lines] [find options]
नमूना:
findByDate
तिथि के अनुसार क्रमबद्ध सभी गैर निर्देशिकाओं को सूचीबद्ध करेगा । नोटा:
यहां तक कि बड़े फाइलसिस्टम ट्री पर, जैसा कि xargs
पहले से ही सॉर्ट की गई सूची को पुन: प्राप्त करना है, फ़ाइल ऑर्डर सही रहता है, भले ही ls
उसे कई बार चलाया जाना चाहिए।
findByDate -h 12
सूची में 12 और पुनरावृत्त गैर निर्देशिकाओं को सूचीबद्ध किया जाएगा, जिनका आकार मानव पठनीय रूप में मुद्रित होगा
findByDate 42 '-type l'
42 और सूचियों को सहानुभूति पर पुनर्विचार करेगा
findByDate -0 '( -type l -o -type b -o -type s -o -type c )'
तिथि के अनुसार क्रमबद्ध सभी सिमलिंक, ब्लॉक डिवाइस, सॉकेट्स और कैरेक्टर डिवाइस को सूचीबद्ध करेगा।
क्रम में बदलना
जगह head
से tail
और के स्विच को बदलने sort
और ls
:
findByDate() {
local humansize=''
[ "$1" = "-h" ] && humansize='h' && shift
find . ${2:-! -type d} -printf "%T@ %p\0" |
sort -zn |
tail -zn ${1:-+0} |
sed -z 's/^[0-9.]\+ //' |
xargs -0 ls -dltr${humansize}
}
एक ही कार्य, एक ही उपयोग:
Usage: findByDate [-h] [lines] [find options]